#include <bits/stdc++.h>
#define all(x) (x).begin(), (x).end()
#define FastIO ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL)
using namespace std;
typedef long long ll;
int main() {
FastIO;
bool ok, same;
ll i, j, rs, cntr, N;
cin >> N;
vector<ll> lucky(N);
for(i = 0; i < N; i++)
cin >> lucky[i];
rs = lucky[0] - 1;
ok = same = true;
vector<ll> ans(N, 0);
stack<ll> free_places;
for(i = 1; i < N; i++) {
if(lucky[i] == lucky[i - 1])
continue;
same = false;
if(lucky[i] < lucky[i - 1] || ((lucky[i] - lucky[i - 1]) > (i - rs + ((ll) free_places.size())))) {
ok = false;
break;
}
for(j = 0; j < min(lucky[i] - lucky[i - 1], i - rs); j++)
ans[i - j] = j + lucky[i - 1];
while(j < i - rs)
free_places.push(i - j++);
while(j < lucky[i] - lucky[i - 1]) {
ans[free_places.top()] = j++ + lucky[i - 1];
free_places.pop();
}
rs = i;
}
if(same) {
if(!lucky[0])
fill(all(ans), 1);
else if(lucky[0] > 1)
ok = false;
}
else if(ok) {
cntr = lucky.back();
while(!free_places.empty()) {
ans[free_places.top()] = ++cntr;
free_places.pop();
}
for(i = rs + 1; i < N; i++)
ans[i] = ++cntr;
}
if(ok) {
cout << "IGEN\n";
for(const auto &x : ans)
cout << x << ' ';
cout << '\n';
}
else
cout << "NEM\n";
return 0;
}
Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
---|---|---|---|---|---|---|---|
subtask1 | 0/0 | ||||||
1 | Elfogadva | 3ms | 1824 KiB | ||||
2 | Elfogadva | 3ms | 2032 KiB | ||||
subtask2 | 8/8 | ||||||
3 | Elfogadva | 3ms | 2236 KiB | ||||
4 | Elfogadva | 3ms | 2460 KiB | ||||
5 | Elfogadva | 3ms | 2544 KiB | ||||
6 | Elfogadva | 3ms | 2652 KiB | ||||
7 | Elfogadva | 3ms | 2868 KiB | ||||
8 | Elfogadva | 3ms | 3080 KiB | ||||
9 | Elfogadva | 3ms | 3292 KiB | ||||
10 | Elfogadva | 3ms | 3508 KiB | ||||
11 | Elfogadva | 3ms | 3736 KiB | ||||
subtask3 | 16/16 | ||||||
12 | Elfogadva | 3ms | 3936 KiB | ||||
13 | Elfogadva | 3ms | 3932 KiB | ||||
14 | Elfogadva | 3ms | 3984 KiB | ||||
15 | Elfogadva | 3ms | 3952 KiB | ||||
16 | Elfogadva | 3ms | 4100 KiB | ||||
subtask4 | 32/32 | ||||||
17 | Elfogadva | 4ms | 4452 KiB | ||||
18 | Elfogadva | 4ms | 4560 KiB | ||||
19 | Elfogadva | 4ms | 4764 KiB | ||||
20 | Elfogadva | 4ms | 4848 KiB | ||||
21 | Elfogadva | 4ms | 5116 KiB | ||||
22 | Elfogadva | 4ms | 5020 KiB | ||||
23 | Elfogadva | 3ms | 5032 KiB | ||||
24 | Elfogadva | 3ms | 5016 KiB | ||||
subtask5 | 44/44 | ||||||
25 | Elfogadva | 112ms | 21040 KiB | ||||
26 | Elfogadva | 112ms | 20640 KiB | ||||
27 | Elfogadva | 112ms | 20664 KiB | ||||
28 | Elfogadva | 112ms | 20564 KiB | ||||
29 | Elfogadva | 112ms | 20504 KiB | ||||
30 | Elfogadva | 112ms | 20584 KiB | ||||
31 | Elfogadva | 114ms | 20752 KiB | ||||
32 | Elfogadva | 114ms | 20736 KiB | ||||
33 | Elfogadva | 115ms | 20724 KiB | ||||
34 | Elfogadva | 115ms | 20728 KiB | ||||
35 | Elfogadva | 115ms | 20792 KiB | ||||
36 | Elfogadva | 67ms | 21752 KiB | ||||
37 | Elfogadva | 68ms | 22076 KiB |