812 2022. 01. 16 18:46:12 Halasz Eszter Fasor (40) cpp11 Elfogadva 40/40 142ms 20056 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;
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 40/40
1 Elfogadva 0/0 2ms 1804 KiB
2 Elfogadva 0/0 4ms 2116 KiB
3 Elfogadva 2/2 1ms 1944 KiB
4 Elfogadva 2/2 1ms 1944 KiB
5 Elfogadva 2/2 1ms 1952 KiB
6 Elfogadva 2/2 1ms 1956 KiB
7 Elfogadva 2/2 1ms 1976 KiB
8 Elfogadva 2/2 3ms 1996 KiB
9 Elfogadva 2/2 4ms 2188 KiB
10 Elfogadva 2/2 6ms 2364 KiB
11 Elfogadva 2/2 4ms 2436 KiB
12 Elfogadva 2/2 4ms 2380 KiB
13 Elfogadva 2/2 82ms 6692 KiB
14 Elfogadva 2/2 105ms 7372 KiB
15 Elfogadva 2/2 111ms 12140 KiB
16 Elfogadva 2/2 108ms 13308 KiB
17 Elfogadva 2/2 111ms 14688 KiB
18 Elfogadva 2/2 120ms 16056 KiB
19 Elfogadva 2/2 142ms 17420 KiB
20 Elfogadva 2/2 56ms 13824 KiB
21 Elfogadva 2/2 108ms 18704 KiB
22 Elfogadva 2/2 114ms 20056 KiB