8122022-01-16 18:46:12Halasz EszterFasor (40)cpp11Accepted 40/40142ms20056 KiB
#include <iostream>
#include <vector>

using namespace std;

//ifstream cin("fasor.in");
//ofstream cout("fasor.out");

vector<int>x,y;

int n,k,i,m,p,q,f;

int build(int kezd,int veg, int csp)
{
    if(kezd==veg)
    {
        y[csp]=x[i];
        return 0;
    }
    
    int kozep=(kezd+veg)/2;

    if(kozep>=i) build(kezd,kozep,csp*2);
    else build(kozep+1,veg,csp*2+1);

    y[csp]=max(y[csp*2],y[csp*2+1]);
    return 0;
}
int leker(int kezd,int veg,int a,int b,int csp)
{

    if(a<=kezd && b>=veg)
    {
        return max(f,y[csp]);
        
    }
    int kozep=(kezd+veg)/2,jobb=0,bal=0;
    if(kozep>=a) jobb=leker(kezd,kozep,a,b,csp*2);
    if(kozep<b) bal=leker(kozep+1,veg,a,b,csp*2+1);

    return max(jobb,bal);
}
int main()
{
    cin>>n>>k;
    x.resize(n+1);
    for(i=1;i<=n;++i) cin>>x[i];

    y.resize(4*n+1);
    
    for(i=1;i<=n;++i) build(1,n,1);
   
    //for(i=1;i<=4*n;++i) cout<<i<<" "<<y[i]<<"\n";

    m=-1;
    for(i=1;i<=n;++i)
    {
        if(i!=1)
        {
            if(k>i) p=leker(1,n,1,i-1,1);
        else p=leker(1,n,i-k,i-1,1);
        }
        else p=0;
        if(i!=n)
        {
            if(i+k>n) q=leker(1,n,i+1,n,1);
        else q=leker(1,n,i+1,i+k,1);
        }
        else q=0;

        if(p<=x[i] && q<=x[i]) 
        {
            m=i;
            break;

        }
    }
    cout<<m;
    return 0;
}
SubtaskSumTestVerdictTimeMemory
base40/40
1Accepted0/02ms1804 KiB
2Accepted0/04ms2116 KiB
3Accepted2/21ms1944 KiB
4Accepted2/21ms1944 KiB
5Accepted2/21ms1952 KiB
6Accepted2/21ms1956 KiB
7Accepted2/21ms1976 KiB
8Accepted2/23ms1996 KiB
9Accepted2/24ms2188 KiB
10Accepted2/26ms2364 KiB
11Accepted2/24ms2436 KiB
12Accepted2/24ms2380 KiB
13Accepted2/282ms6692 KiB
14Accepted2/2105ms7372 KiB
15Accepted2/2111ms12140 KiB
16Accepted2/2108ms13308 KiB
17Accepted2/2111ms14688 KiB
18Accepted2/2120ms16056 KiB
19Accepted2/2142ms17420 KiB
20Accepted2/256ms13824 KiB
21Accepted2/2108ms18704 KiB
22Accepted2/2114ms20056 KiB