9095 | 2024. 02. 13 21:25:55 | RRoli | Fasor (40) | cpp17 | Futási hiba 38/40 | 194ms | 33512 KiB |
#include <bits/stdc++.h>
using namespace std;
int n, k, a[200001], sz[1000001], ln[200001];
set<int> van;
int main() {
cin >> n >> k;
for(int i = 1; i <= n; i++) cin >> a[i];
for(int i = 1; i <= k+1; i++) {
sz[a[i]]++;
van.insert(a[i]*(-1));
}
for(int j : van) {ln[1] = j*(-1); break;}
for(int i = k+2; i <= 2*k+1; i++) {
sz[a[i]]++;
van.insert(a[i]*(-1));
for(int j : van) {ln[i-k] = j*(-1); break;}
}
for(int i = 2*k+2; i <= n; i++) {
sz[a[i]]++;
van.insert(a[i]*(-1));
sz[a[i-2*k-1]]--;
if(sz[a[i-2*k-1]] == 0) van.erase(a[i-2*k-1]*(-1));
for(int j : van) {ln[i-k] = j*(-1); break;}
}
for(int i = n-k+1; i <= n; i++) {
sz[a[i-k-1]]--;
if(sz[a[i-k-1]] == 0) van.erase(a[i-k-1]*(-1));
for(int j : van) {ln[i] = j*(-1); break;}
}
for(int i = 1; i <= n; i++) {
if(a[i] == ln[i]) {
cout << i;
break;
}
}
return 0;
}
Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
---|---|---|---|---|---|---|---|
base | 38/40 | ||||||
1 | Elfogadva | 0/0 | 3ms | 1884 KiB | |||
2 | Elfogadva | 0/0 | 8ms | 2500 KiB | |||
3 | Elfogadva | 2/2 | 3ms | 2348 KiB | |||
4 | Elfogadva | 2/2 | 3ms | 2712 KiB | |||
5 | Elfogadva | 2/2 | 3ms | 2600 KiB | |||
6 | Elfogadva | 2/2 | 3ms | 2832 KiB | |||
7 | Elfogadva | 2/2 | 3ms | 3164 KiB | |||
8 | Elfogadva | 2/2 | 6ms | 9912 KiB | |||
9 | Elfogadva | 2/2 | 7ms | 3568 KiB | |||
10 | Elfogadva | 2/2 | 9ms | 10412 KiB | |||
11 | Elfogadva | 2/2 | 6ms | 3656 KiB | |||
12 | Elfogadva | 2/2 | 4ms | 3700 KiB | |||
13 | Elfogadva | 2/2 | 39ms | 5888 KiB | |||
14 | Futási hiba | 0/2 | 37ms | 5760 KiB | |||
15 | Elfogadva | 2/2 | 59ms | 9180 KiB | |||
16 | Elfogadva | 2/2 | 71ms | 10640 KiB | |||
17 | Elfogadva | 2/2 | 75ms | 12060 KiB | |||
18 | Elfogadva | 2/2 | 75ms | 13600 KiB | |||
19 | Elfogadva | 2/2 | 75ms | 14812 KiB | |||
20 | Elfogadva | 2/2 | 24ms | 13444 KiB | |||
21 | Elfogadva | 2/2 | 61ms | 16108 KiB | |||
22 | Elfogadva | 2/2 | 194ms | 33512 KiB |