233172026-01-19 11:52:57vargaviviSzorzatország csapata (40 pont)cpp17Hibás válasz 14/4021ms1080 KiB
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;

int main() {
	int n; cin >> n;
    vector<int> v(n + 2), z = {0};
    for (int i = 1; i <= n; i ++) {
        cin >> v[i];
        if (v[i] == 0) z.push_back(i);
    }
    ll ans = *max_element(v.begin() + 1, v.end() - 1);
    z.push_back(n + 1);
    int ans1 = 1, ans2 = 1;
    for (int i = 1; i < z.size(); i ++) {
        int l = z[i - 1], r = z[i], ln = -1, rn = -1;
        ll prod = 1, prod1 = 1, prod2 = 1;
        for (int j = l + 1; j < r; j ++) {
            prod *= v[j];
            if (ln == -1) prod1 *= v[j];
            if (v[j] < 0) {
                if (ln == -1) ln = j;
                rn = j;
                prod2 = 1;
            }
            prod2 *= v[j];
        }
        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;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base14/40
1Elfogadva0/01ms316 KiB
2Hibás válasz0/018ms820 KiB
3Elfogadva1/11ms316 KiB
4Hibás válasz0/11ms316 KiB
5Elfogadva1/11ms316 KiB
6Elfogadva1/11ms316 KiB
7Hibás válasz0/11ms316 KiB
8Elfogadva2/21ms316 KiB
9Elfogadva2/21ms508 KiB
10Hibás válasz0/321ms1076 KiB
11Elfogadva3/319ms1076 KiB
12Futási hiba0/318ms1000 KiB
13Elfogadva4/421ms924 KiB
14Futási hiba0/418ms1012 KiB
15Futási hiba0/417ms820 KiB
16Futási hiba0/520ms1080 KiB
17Futási hiba0/518ms1072 KiB