233222026-01-19 12:26:14vargaviviSzorzatország csapata (40 pont)cpp17Hibás válasz 24/4023ms860 KiB
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;

int main() {
	int n; cin >> n;
    vector<int> v(n + 2, 0), z = {0};
    for (int i = 1; i <= n; i ++) {
        cin >> v[i];
        if (v[i] == 0) z.push_back(i);
    }
    auto it = max_element(v.begin() + 1, v.end() - 1);
    int ans = 0;
    z.push_back(n + 1);
    int ans1 = it - v.begin(), ans2 = ans1;
    for (int i = 1; i < z.size(); i ++) {
        int l = z[i - 1], r = z[i], ln = -1, rn = -1;
        int prod = 0, prod1 = 0, prod2 = 0, db = 0;
        for (int j = l + 1; j < r; j ++) {
            if (abs(v[j]) == 2) {
                prod ++;
                if (ln == -1) prod1 += 1;
            }
            if (v[j] < 0) {
                db ++;
                if (ln == -1) ln = j;
                rn = j;
                prod2 = 0;
            }
            if (abs(v[j]) == 2) prod2 *= v[j];
        }
        if (l + 1 != r) {
            if (db % 2 == 0) {
                if (prod > ans) {
                    ans = prod;
                    ans1 = l + 1;
                    ans2 = r - 1;
                }
            }
            else {
                if (prod - prod1 > ans && ln != r - 1) {
                    ans = prod - prod1;
                    ans1 = ln + 1;
                    ans2 = r - 1;
                }
                if (prod - prod2 > ans && rn != l + 1) {
                    ans = prod - prod2;
                    ans1 = l + 1;
                    ans2 = rn - 1;
                }
            }
        }
    }
    cout << ans1 << " " << ans2 << "\n";
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base24/40
1Elfogadva0/01ms508 KiB
2Elfogadva0/019ms820 KiB
3Elfogadva1/11ms508 KiB
4Elfogadva1/11ms316 KiB
5Elfogadva1/11ms316 KiB
6Hibás válasz0/11ms316 KiB
7Elfogadva1/11ms316 KiB
8Elfogadva2/21ms316 KiB
9Elfogadva2/21ms316 KiB
10Elfogadva3/323ms820 KiB
11Hibás válasz0/320ms820 KiB
12Elfogadva3/319ms564 KiB
13Hibás válasz0/423ms860 KiB
14Hibás válasz0/418ms564 KiB
15Hibás válasz0/419ms800 KiB
16Elfogadva5/523ms808 KiB
17Elfogadva5/519ms836 KiB