248952026-02-16 16:15:43pirosmacska10Völgy (100 pont)cpp17Wrong answer 95/10014ms1092 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++;
            if(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 << maxx;
}
SubtaskSumTestVerdictTimeMemory
base95/100
1Accepted0/01ms316 KiB
2Accepted0/01ms508 KiB
3Accepted5/51ms316 KiB
4Accepted5/51ms316 KiB
5Accepted5/51ms316 KiB
6Accepted5/51ms316 KiB
7Accepted5/51ms316 KiB
8Accepted5/51ms500 KiB
9Accepted5/51ms316 KiB
10Accepted5/51ms316 KiB
11Accepted5/52ms316 KiB
12Accepted5/52ms500 KiB
13Accepted5/52ms332 KiB
14Wrong answer0/52ms372 KiB
15Accepted5/513ms680 KiB
16Accepted5/514ms820 KiB
17Accepted5/513ms1092 KiB
18Accepted5/512ms1004 KiB
19Accepted5/513ms824 KiB
20Accepted5/514ms820 KiB
21Accepted5/514ms1012 KiB
22Accepted5/514ms832 KiB