8122022-01-16 18:46:12Halasz EszterFasor (40)cpp11Elfogadva 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;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base40/40
1Elfogadva0/02ms1804 KiB
2Elfogadva0/04ms2116 KiB
3Elfogadva2/21ms1944 KiB
4Elfogadva2/21ms1944 KiB
5Elfogadva2/21ms1952 KiB
6Elfogadva2/21ms1956 KiB
7Elfogadva2/21ms1976 KiB
8Elfogadva2/23ms1996 KiB
9Elfogadva2/24ms2188 KiB
10Elfogadva2/26ms2364 KiB
11Elfogadva2/24ms2436 KiB
12Elfogadva2/24ms2380 KiB
13Elfogadva2/282ms6692 KiB
14Elfogadva2/2105ms7372 KiB
15Elfogadva2/2111ms12140 KiB
16Elfogadva2/2108ms13308 KiB
17Elfogadva2/2111ms14688 KiB
18Elfogadva2/2120ms16056 KiB
19Elfogadva2/2142ms17420 KiB
20Elfogadva2/256ms13824 KiB
21Elfogadva2/2108ms18704 KiB
22Elfogadva2/2114ms20056 KiB