10364 2024. 04. 01 11:53:42 MagyarKendeSZLG Völgy (100 pont) cpp17 Elfogadva 100/100 17ms 12236 KiB
// thanks to the creative genius of TomaSajt
#include <bits/stdc++.h>

#define cinv(v) for (auto& e : v) cin >> e;
#define all(v) v.begin(), v.end()
#define has(s, e) s.count(e)

using namespace std;
using ll = long long;

int N;
int solve(const vector<int>& v) {
    vector<int> prev(N, -1);
    int result = 0;
    for (int i = 0; i < N; i++) {
        prev[i] = i - 1;
        while (prev[i] != -1 && v[prev[i]] < v[i]) {
            prev[i] = prev[prev[i]];
        }
        if (prev[i] != -1) {
            result = max(result, i - prev[i]);
        }
    }
    return result;
}

int main() {
    cin.tie(0); ios::sync_with_stdio(0);
    cin >> N;

    vector<int> u(N), v;
    cinv(u);
    v = u;
    reverse(all(v));

    int result = max(solve(u), solve(v));
    cout << (result <= 1 ? -1 : result);
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 100/100
1 Elfogadva 0/0 3ms 1828 KiB
2 Elfogadva 0/0 3ms 2196 KiB
3 Elfogadva 5/5 3ms 2272 KiB
4 Elfogadva 5/5 3ms 2488 KiB
5 Elfogadva 5/5 3ms 2688 KiB
6 Elfogadva 5/5 3ms 2896 KiB
7 Elfogadva 5/5 3ms 3104 KiB
8 Elfogadva 5/5 3ms 3340 KiB
9 Elfogadva 5/5 3ms 3428 KiB
10 Elfogadva 5/5 3ms 3428 KiB
11 Elfogadva 5/5 3ms 3736 KiB
12 Elfogadva 5/5 4ms 4224 KiB
13 Elfogadva 5/5 4ms 4448 KiB
14 Elfogadva 5/5 4ms 4728 KiB
15 Elfogadva 5/5 17ms 7424 KiB
16 Elfogadva 5/5 17ms 7988 KiB
17 Elfogadva 5/5 14ms 8568 KiB
18 Elfogadva 5/5 16ms 9072 KiB
19 Elfogadva 5/5 14ms 9776 KiB
20 Elfogadva 5/5 16ms 10624 KiB
21 Elfogadva 5/5 17ms 11532 KiB
22 Elfogadva 5/5 17ms 12236 KiB