248922026-02-16 15:33:37pirosmacska10Völgy (100 pont)cpp17Hibás válasz 30/10013ms1196 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;
    int maxx = -1;
    for (int r = 1; r < n; r++) {
        while (!dq.empty() && nums[dq.front()] > nums[l]) {
            l++;
            if (dq.front() <= l){
                dq.pop_front();
            }
        }

        while (!dq.empty() && nums[dq.back()] <= nums[r]) {
            dq.pop_back();
        }
        dq.push_back(r);
        if(dq.empty() || nums[r] > nums[dq.front()]) {
            continue;
        }

        maxx = max(r - l, maxx);
    }
    cout << maxx;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base30/100
1Elfogadva0/01ms508 KiB
2Hibás válasz0/01ms316 KiB
3Hibás válasz0/51ms316 KiB
4Elfogadva5/51ms316 KiB
5Hibás válasz0/51ms316 KiB
6Hibás válasz0/51ms316 KiB
7Hibás válasz0/51ms316 KiB
8Elfogadva5/51ms316 KiB
9Hibás válasz0/51ms316 KiB
10Hibás válasz0/51ms316 KiB
11Elfogadva5/52ms324 KiB
12Hibás válasz0/52ms316 KiB
13Hibás válasz0/52ms464 KiB
14Hibás válasz0/52ms316 KiB
15Hibás válasz0/512ms820 KiB
16Hibás válasz0/513ms820 KiB
17Hibás válasz0/512ms1196 KiB
18Hibás válasz0/512ms820 KiB
19Hibás válasz0/512ms824 KiB
20Elfogadva5/513ms828 KiB
21Elfogadva5/513ms828 KiB
22Elfogadva5/513ms820 KiB