10163 2024. 03. 28 22:10:18 111 Mágikus sorozat cpp17 Elfogadva 100/100 100ms 73496 KiB
#include <bits/stdc++.h>
using namespace std;

#define int long long

signed main(){
	ios::sync_with_stdio(false);
	cin.tie(nullptr);
	int N;
	cin>>N;
	vector<int>v(N);
	for(int i=0;i<N;i++){
		cin>>v[i];
	}
	v[0]=1;
	vector<int>w(N);
	vector<set<int>>u(N+1);
	deque<int>s;
	for(int i=0;i<N;i++){
		s.push_back(i);
		while(!s.empty()&&s.front()+v[s.front()]<=i){
			s.pop_front();
		}
		u[i+v[i]].insert(w[v[i]]);
		int x=1;
		while(u[i].count(x))x++;
		w[i]=s.empty()?x:w[i-s.front()];
		cout<<w[i]+1<<' ';
	}
	cout<<'\n';
	return 0;
}
Részfeladat Összpont Teszt Verdikt Idő Memória
subtask1 0/0
1 Elfogadva 3ms 1824 KiB
2 Elfogadva 6ms 4120 KiB
subtask2 15/15
3 Elfogadva 4ms 2784 KiB
4 Elfogadva 4ms 3136 KiB
5 Elfogadva 4ms 3220 KiB
subtask3 15/15
6 Elfogadva 3ms 2764 KiB
7 Elfogadva 3ms 2988 KiB
8 Elfogadva 3ms 3076 KiB
9 Elfogadva 3ms 3284 KiB
10 Elfogadva 3ms 3132 KiB
subtask4 30/30
11 Elfogadva 4ms 3820 KiB
12 Elfogadva 4ms 3804 KiB
13 Elfogadva 4ms 3752 KiB
14 Elfogadva 3ms 3960 KiB
subtask5 40/40
15 Elfogadva 90ms 69216 KiB
16 Elfogadva 89ms 64536 KiB
17 Elfogadva 82ms 49980 KiB
18 Elfogadva 82ms 54160 KiB
19 Elfogadva 83ms 52144 KiB
20 Elfogadva 78ms 48120 KiB
21 Elfogadva 76ms 43668 KiB
22 Elfogadva 75ms 42756 KiB
23 Elfogadva 74ms 43300 KiB
24 Elfogadva 82ms 58448 KiB
25 Elfogadva 76ms 44028 KiB
26 Elfogadva 75ms 43408 KiB
27 Elfogadva 96ms 63684 KiB
28 Elfogadva 93ms 72180 KiB
29 Elfogadva 100ms 73496 KiB
30 Elfogadva 79ms 46856 KiB
31 Elfogadva 85ms 60748 KiB
32 Elfogadva 90ms 69200 KiB