249132026-02-16 18:42:44pirosmacska10Völgy (100 pont)cpp17Wrong answer 95/10013ms1092 KiB
#include <algorithm>
#include <climits>
#include <cmath>
#include <iostream>
#include <map>
#include <queue>
#include <set>
#include <stack>
#include <vector>

using namespace std;
using ll = long long;

#define endl '\n'

const ll INF = LLONG_MAX;
const ll MOD = 1e9 + 7;

int main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);

    int n;
    cin >> n;
    vector<int> nums(n);
    for (int i = 0; i < n; i++) {
        cin >> nums[i];
    }

    deque<int> dq;
    int l = 0, r = 1;
    int maxx = -1;
    while (r < n) {
        while (!dq.empty() && nums[dq.front()] >= nums[l]) {
            l++;
            while (!dq.empty() && dq.front() <= l) {
                dq.pop_front();
            }
        }
        if (!dq.empty() && nums[r] > nums[dq.front()] && r - l > 1)
            maxx = max(maxx, r - l);

        while (!dq.empty() && nums[dq.back()] <= nums[r]) {
            dq.pop_back();
        }
        dq.push_back(r);
        r++;
    }
    if (maxx > 1)
        cout << maxx;
    else
        cout << -1;
}
SubtaskSumTestVerdictTimeMemory
base95/100
1Accepted0/01ms316 KiB
2Accepted0/01ms316 KiB
3Accepted5/51ms500 KiB
4Accepted5/51ms316 KiB
5Accepted5/51ms316 KiB
6Accepted5/51ms316 KiB
7Accepted5/51ms316 KiB
8Accepted5/51ms316 KiB
9Accepted5/51ms316 KiB
10Accepted5/51ms316 KiB
11Accepted5/52ms316 KiB
12Accepted5/52ms316 KiB
13Accepted5/52ms316 KiB
14Wrong answer0/52ms316 KiB
15Accepted5/512ms820 KiB
16Accepted5/513ms820 KiB
17Accepted5/512ms1092 KiB
18Accepted5/512ms820 KiB
19Accepted5/512ms828 KiB
20Accepted5/513ms1016 KiB
21Accepted5/513ms832 KiB
22Accepted5/513ms832 KiB