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