232092026-01-16 17:19:34999Fasor (40)cpp17Elfogadva 40/4087ms2028 KiB
// Source: https://usaco.guide/general/io

#include <bits/stdc++.h>
using namespace std;

int main() {
    int n,k;cin>>n>>k;
    deque<pair<int,int>> s;
    vector<int> v(n),marked(n);
    for(int i = 0;i<n;i++){
        int a;cin>>a;
        v[i]=a;
        while(!s.empty()&&s.front().first<=a){
            s.pop_front();
        }
        while(!s.empty()&&abs(i-s.back().second)>k){
            s.pop_back();
        }
        if(s.empty()||!s.empty()&&s.back().first<=a){
            marked[i]++;
        }
        s.push_front({v[i],i});
    }
    reverse(v.begin(),v.end());
    while(!s.empty())s.pop_front();
    for(int i = 0;i<n;i++){
        while(!s.empty()&&s.front().first<=v[i]){
            s.pop_front();
        }
        while(!s.empty()&&abs(i-s.back().second)>k){
            s.pop_back();
        }
        if(s.empty()||!s.empty()&&s.back().first<=v[i]){
            marked[n-i-1]++;
        }
        s.push_front({v[i],i});
    }
    for(int i = 0;i<n;i++){
        if(marked[i]==2){
            cout<<i+1;
            return 0;
        }
    }
    cout<<-1;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base40/40
1Elfogadva0/01ms508 KiB
2Elfogadva0/04ms316 KiB
3Elfogadva2/21ms316 KiB
4Elfogadva2/21ms512 KiB
5Elfogadva2/21ms316 KiB
6Elfogadva2/21ms316 KiB
7Elfogadva2/21ms316 KiB
8Elfogadva2/22ms316 KiB
9Elfogadva2/24ms484 KiB
10Elfogadva2/24ms508 KiB
11Elfogadva2/26ms508 KiB
12Elfogadva2/24ms512 KiB
13Elfogadva2/243ms1192 KiB
14Elfogadva2/239ms1196 KiB
15Elfogadva2/270ms1844 KiB
16Elfogadva2/279ms1976 KiB
17Elfogadva2/285ms1844 KiB
18Elfogadva2/286ms2028 KiB
19Elfogadva2/287ms1844 KiB
20Elfogadva2/228ms1076 KiB
21Elfogadva2/271ms1844 KiB
22Elfogadva2/283ms1980 KiB