138062025-01-08 19:28:44horkaFasor (40)cpp17Elfogadva 40/4079ms2744 KiB
#include <bits/stdc++.h>
using namespace std;

int main()
{
    int n,k; cin>>n>>k;
    int inf=1e6+10;
    vector<int> v(n+2);
    for(int i=1; i<=n; i++)
        cin>>v[i];
    v[0]=v[n+1]=inf;
    vector<int> el(n+1),kov(n+1);
    stack<int> s;
    s.push(0);
    for(int i=1; i<=n; i++)
    {
        while(v[i]>=v[s.top()]) s.pop();
        el[i]=s.top();
        s.push(i);
    }
    while(!s.empty()) s.pop();
    s.push(n+1);
    for(int i=n; i>0; i--)
    {
        while(v[i]>=v[s.top()]) s.pop();
        kov[i]=s.top();
        s.push(i);
    }
    for(int i=1; i<=n; i++)
    {
        bool jo=1;
        if(el[i] && el[i]>=i-k) jo=0;
        if(kov[i]<=n && kov[i]<=i+k) jo=0;
        if(jo)
        {
            cout<<i<<"\n";
            return 0;
        }
    }
    cout<<"-1\n";
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base40/40
1Elfogadva0/01ms316 KiB
2Elfogadva0/04ms316 KiB
3Elfogadva2/21ms316 KiB
4Elfogadva2/21ms316 KiB
5Elfogadva2/21ms316 KiB
6Elfogadva2/21ms316 KiB
7Elfogadva2/21ms316 KiB
8Elfogadva2/22ms316 KiB
9Elfogadva2/24ms436 KiB
10Elfogadva2/24ms316 KiB
11Elfogadva2/24ms388 KiB
12Elfogadva2/23ms316 KiB
13Elfogadva2/237ms1572 KiB
14Elfogadva2/235ms1568 KiB
15Elfogadva2/257ms2736 KiB
16Elfogadva2/268ms2728 KiB
17Elfogadva2/272ms2620 KiB
18Elfogadva2/274ms2612 KiB
19Elfogadva2/274ms2716 KiB
20Elfogadva2/221ms1572 KiB
21Elfogadva2/257ms2732 KiB
22Elfogadva2/279ms2744 KiB