5752 | 2023. 09. 16 12:44:40 | Ablablabla | Fasor (40) | cpp17 | Elfogadva 40/40 | 93ms | 19988 KiB |
#include <bits/stdc++.h>
using namespace std;
struct segTree{
int meret = 1;
vector<int> fa;
void letrehoz(int n){
while(meret < n){
meret *= 2;
}
fa.assign(2 * meret - 1, 0);
}
int epit(int a, int b, int ind){
if(a == b){
return fa[ind];
}
int k = (a + b) / 2;
return fa[ind] = max(epit(a, k, 2 * ind + 1), epit(k + 1, b, 2 * ind + 2));
}
int keres(int a, int b, int ind, int kezd, int veg){
if(b < kezd || veg < a){
return 0;
} else if(kezd <= a && b <= veg){
return fa[ind];
}
int k = (a + b) / 2;
return max(keres(a, k, 2 * ind + 1, kezd, veg), keres(k + 1, b, 2 * ind + 2, kezd, veg));
}
};
int main()
{
int n, k;
cin >> n >> k;
segTree fa;
fa.letrehoz(n);
vector<int> eredeti(n, 0);
for(int i = 0; i < n; i++){
cin >> fa.fa[fa.meret - 1 + i];
eredeti[i] = fa.fa[fa.meret - 1 + i];
}
fa.epit(0, fa.meret - 1, 0);
for(int i = 0; i < n; i++){
int maxi = fa.keres(0, fa.meret - 1, 0, max(0, i - k), min(i + k, n));
if(maxi == eredeti[i]){
cout << i + 1 << "\n";
return 0;
}
}
cout << "-1\n";
}
Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
---|---|---|---|---|---|---|---|
base | 40/40 | ||||||
1 | Elfogadva | 0/0 | 3ms | 1944 KiB | |||
2 | Elfogadva | 0/0 | 6ms | 2376 KiB | |||
3 | Elfogadva | 2/2 | 3ms | 2328 KiB | |||
4 | Elfogadva | 2/2 | 3ms | 2536 KiB | |||
5 | Elfogadva | 2/2 | 2ms | 2576 KiB | |||
6 | Elfogadva | 2/2 | 3ms | 2812 KiB | |||
7 | Elfogadva | 2/2 | 3ms | 2936 KiB | |||
8 | Elfogadva | 2/2 | 3ms | 3300 KiB | |||
9 | Elfogadva | 2/2 | 6ms | 3796 KiB | |||
10 | Elfogadva | 2/2 | 6ms | 3840 KiB | |||
11 | Elfogadva | 2/2 | 6ms | 3780 KiB | |||
12 | Elfogadva | 2/2 | 4ms | 4104 KiB | |||
13 | Elfogadva | 2/2 | 52ms | 7352 KiB | |||
14 | Elfogadva | 2/2 | 46ms | 7960 KiB | |||
15 | Elfogadva | 2/2 | 68ms | 11632 KiB | |||
16 | Elfogadva | 2/2 | 76ms | 12852 KiB | |||
17 | Elfogadva | 2/2 | 79ms | 14432 KiB | |||
18 | Elfogadva | 2/2 | 86ms | 15904 KiB | |||
19 | Elfogadva | 2/2 | 93ms | 17288 KiB | |||
20 | Elfogadva | 2/2 | 30ms | 15020 KiB | |||
21 | Elfogadva | 2/2 | 70ms | 18660 KiB | |||
22 | Elfogadva | 2/2 | 79ms | 19988 KiB |