125992024-12-26 16:59:06ruffbrigiFasor (40)cpp17Accepted 40/40104ms4928 KiB
#include <iostream>
#include <vector>
#include <set>

using namespace std;

int main()
{
    int n,k,x,ul=0,szb,szj;
    vector<int> magassagok;
    cin>>n>>k;
    szb=-k;
    szj=k;
    set<int> latokor;
    for(int i=0;i<=n-1;i++)
    {
        cin>>x;
        magassagok.push_back(x);
        if(i<=k) latokor.insert(x);
    }
    bool boldog=false;
    while(!boldog && ul<=n-1)
    {
        //cout<<"ul:"<<ul<<" szb:"<<szb<<" szj:"<<szj<<endl;
        auto last = prev(latokor.end());
        //cout<<"last:"<<*last<<endl;
        if(magassagok[ul]==*last) boldog=true;
        else
            {
                ul++;
                szb++;
                szj++;
                if(szb>=0) latokor.erase(magassagok[ul-k-1]);
                if(szj<=n-1) latokor.insert(magassagok[ul+k]);
            }
    }
    if(boldog) cout<<ul+1;
    else cout<<-1;
    return 0;
}
SubtaskSumTestVerdictTimeMemory
base40/40
1Accepted0/01ms320 KiB
2Accepted0/04ms500 KiB
3Accepted2/21ms320 KiB
4Accepted2/21ms320 KiB
5Accepted2/21ms320 KiB
6Accepted2/21ms336 KiB
7Accepted2/21ms320 KiB
8Accepted2/22ms320 KiB
9Accepted2/24ms504 KiB
10Accepted2/24ms320 KiB
11Accepted2/24ms432 KiB
12Accepted2/23ms384 KiB
13Accepted2/239ms948 KiB
14Accepted2/235ms1028 KiB
15Accepted2/261ms1456 KiB
16Accepted2/270ms1352 KiB
17Accepted2/275ms1536 KiB
18Accepted2/275ms1456 KiB
19Accepted2/275ms1556 KiB
20Accepted2/223ms1020 KiB
21Accepted2/263ms1532 KiB
22Accepted2/2104ms4928 KiB