5307 | 2023-04-25 18:58:04 | anon | Mágikus sorozat | cpp17 | Elfogadva 100/100 | 156ms | 81884 KiB |
#include <vector>
#include <unordered_set>
#include <iostream>
using ll = long long;
using namespace std;
int main()
{
ll i, j, k, N;
cin >> N;
vector<ll> z(N + 1);
for(i = 1; i <= N; i++)
cin >> z[i];
vector<ll> a(N + 1);
a[1] = 1;
vector<unordered_set<ll>> bads(N + 2);
i = 2;
while(i <= N)
{
if(z[i])
{
j = i;
k = i + z[i];
for(;i < k && (i == j || !z[i]); i++)
a[i] = a[i - j + 1];
if(a[k - j + 1] > 1)
bads[k].insert(a[k - j + 1]);
}
else
{
a[i] = 2;
while(bads[i].find(a[i]) != bads[i].end())
a[i]++;
i++;
}
}
for(i = 1; i <= N; i++)
cout << a[i] << ' ';
cout << endl;
return 0;
}
Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
---|---|---|---|---|---|---|---|
subtask1 | 0/0 | ||||||
1 | Elfogadva | 3ms | 1808 KiB | ||||
2 | Elfogadva | 7ms | 3356 KiB | ||||
subtask2 | 15/15 | ||||||
3 | Elfogadva | 4ms | 2684 KiB | ||||
4 | Elfogadva | 4ms | 3140 KiB | ||||
5 | Elfogadva | 4ms | 3428 KiB | ||||
subtask3 | 15/15 | ||||||
6 | Elfogadva | 3ms | 2728 KiB | ||||
7 | Elfogadva | 3ms | 2936 KiB | ||||
8 | Elfogadva | 3ms | 3144 KiB | ||||
9 | Elfogadva | 3ms | 3356 KiB | ||||
10 | Elfogadva | 3ms | 3568 KiB | ||||
subtask4 | 30/30 | ||||||
11 | Elfogadva | 4ms | 3876 KiB | ||||
12 | Elfogadva | 4ms | 4024 KiB | ||||
13 | Elfogadva | 4ms | 4336 KiB | ||||
14 | Elfogadva | 3ms | 4304 KiB | ||||
subtask5 | 40/40 | ||||||
15 | Elfogadva | 115ms | 49028 KiB | ||||
16 | Elfogadva | 112ms | 49216 KiB | ||||
17 | Elfogadva | 125ms | 62532 KiB | ||||
18 | Elfogadva | 153ms | 81884 KiB | ||||
19 | Elfogadva | 150ms | 78216 KiB | ||||
20 | Elfogadva | 144ms | 65864 KiB | ||||
21 | Elfogadva | 137ms | 52692 KiB | ||||
22 | Elfogadva | 136ms | 49696 KiB | ||||
23 | Elfogadva | 134ms | 50744 KiB | ||||
24 | Elfogadva | 116ms | 51664 KiB | ||||
25 | Elfogadva | 123ms | 51792 KiB | ||||
26 | Elfogadva | 128ms | 52080 KiB | ||||
27 | Elfogadva | 128ms | 63732 KiB | ||||
28 | Elfogadva | 119ms | 55112 KiB | ||||
29 | Elfogadva | 112ms | 51044 KiB | ||||
30 | Elfogadva | 156ms | 46828 KiB | ||||
31 | Elfogadva | 134ms | 46828 KiB | ||||
32 | Elfogadva | 115ms | 46824 KiB |