115292024-10-19 10:31:38MagyarKendeSZLGLegmesszebbi rossz sorrendű (35 pont)cpp17Accepted 35/3545ms1852 KiB
#include <bits/stdc++.h>
using namespace std;

int main() {
    int N;
    cin >> N;
    vector<int> a(N), pmx(N);
    for (int& x : a) cin >> x;

    pmx[0] = a[0];
    bool mon = 1;
    for (int i = 1; i < N; i++) {
        if (a[i - 1] > a[i]) mon = 0;
        pmx[i] = max(pmx[i - 1], a[i]);
    }

    if (mon) {
        cout << "-1";
        exit(0);
    }

    int mx = 0, resl = -1, resr = -1;
    for (int i = 1; i < N; i++) {
        int l = -1, r = i - 1;
        while (r - l > 1) {
            int m = (r + l) / 2;
            if (pmx[m] > a[i]) {
                r = m;
            } else {
                l = m;
            }
        }
        if (i - r > mx) {
            mx = i - r;
            resl = r;
            resr = i;
        }
    }

    cout << resl + 1 << " " << resr + 1 << "\n";
}
SubtaskSumTestVerdictTimeMemory
base35/35
1Accepted0/01ms320 KiB
2Accepted0/045ms1848 KiB
3Accepted1/11ms320 KiB
4Accepted1/11ms320 KiB
5Accepted1/11ms320 KiB
6Accepted1/11ms320 KiB
7Accepted1/11ms408 KiB
8Accepted1/11ms320 KiB
9Accepted1/11ms332 KiB
10Accepted1/12ms320 KiB
11Accepted1/12ms424 KiB
12Accepted2/217ms1004 KiB
13Accepted2/219ms1016 KiB
14Accepted2/220ms1080 KiB
15Accepted2/214ms824 KiB
16Accepted2/221ms1144 KiB
17Accepted2/230ms1336 KiB
18Accepted2/235ms1428 KiB
19Accepted2/239ms1604 KiB
20Accepted2/241ms1488 KiB
21Accepted2/243ms1852 KiB
22Accepted2/243ms1700 KiB
23Accepted2/239ms1700 KiB
24Accepted2/239ms1604 KiB