1530 2022. 11. 22 10:25:59 kicsiboglar Fasor (40) cpp11 Elfogadva 40/40 32ms 13612 KiB
#include <iostream>
#include <vector>

#define ll long long
using namespace std;

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

ll n,m,i,j,a,b,k;

struct element
{
    ll value,big_left,big_right;
};

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(0); cout.tie(0);

    cin>>n>>k;
    vector <element> x(n+1);
    for (i=1;i<=n;++i)
    {
        cin>>x[i].value;
        if (i==1) continue;
        j=i-1;
        while (j!=0&&x[j].value<=x[i].value) j=x[j].big_left;
        x[i].big_left=j;
    }

    for (i=n-1;i>=1;--i)
    {
        j=i+1;
        while (j!=0&&x[j].value<=x[i].value) j=x[j].big_right;
        x[i].big_right=j;
    }
    for (i=1;i<=n;++i)
    {
        if (i-x[i].big_left>k||x[i].big_left==0)
        {
            if (x[i].big_right-i>k||x[i].big_right==0)
            {
                cout<<i;
                return 0;
            }
        }
    }
    cout<<"-1";
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 40/40
1 Elfogadva 0/0 3ms 1884 KiB
2 Elfogadva 0/0 3ms 2208 KiB
3 Elfogadva 2/2 2ms 2264 KiB
4 Elfogadva 2/2 2ms 2368 KiB
5 Elfogadva 2/2 2ms 2524 KiB
6 Elfogadva 2/2 2ms 2732 KiB
7 Elfogadva 2/2 2ms 3092 KiB
8 Elfogadva 2/2 2ms 3180 KiB
9 Elfogadva 2/2 3ms 3432 KiB
10 Elfogadva 2/2 4ms 3560 KiB
11 Elfogadva 2/2 3ms 3672 KiB
12 Elfogadva 2/2 3ms 3748 KiB
13 Elfogadva 2/2 14ms 8036 KiB
14 Elfogadva 2/2 14ms 8264 KiB
15 Elfogadva 2/2 24ms 13116 KiB
16 Elfogadva 2/2 25ms 13052 KiB
17 Elfogadva 2/2 27ms 13052 KiB
18 Elfogadva 2/2 27ms 13460 KiB
19 Elfogadva 2/2 27ms 13612 KiB
20 Elfogadva 2/2 12ms 8836 KiB
21 Elfogadva 2/2 24ms 13532 KiB
22 Elfogadva 2/2 32ms 13528 KiB