280042026-05-14 08:40:28LazurAndrasMexxcpp17Elfogadva 100/100129ms13112 KiB
#include <algorithm>
#include <bits/stdc++.h>
using namespace std;

signed main() {
    ios::sync_with_stdio(false);cin.tie(nullptr);
    int n; cin >> n;
    vector<int>a(n);
    for(int i = 0; i < n; i++)
    {
        cin >> a[i];
        if(a[i] > i+1 || (i > 0 && a[i] < a[i-1])) {cout << "NEM"; return 0;}
    }
    cout << "IGEN\n";
    int mx = a[n-1] + 2;
    vector<bool>k(a[n-1], 1);
    vector<int>ans(n, -1);
    queue<int>q;
    if(a[0] == 1)
    {
        ans[0] = 0;
        k[0] = 0;
    }
    else q.push(0);
    for(int i = 1; i < n; i++)
    {
        if(a[i] != a[i-1])
        {
            ans[i] = a[i-1];
            k[ans[i]] = 0;
        }
        else q.push(i);
    }
    int cnt = 0;
    for(int i = 0; i < n; i++)
    {
        if(ans[i] == -1) continue;
        vector<int>x;
        for(; cnt < a[i]; cnt++)
        {
            if(k[cnt]) x.push_back(cnt);
        }
        while(!x.empty())
        {
            int v = q.front();
            q.pop();
            ans[v] = x.back();
            x.pop_back();
        }
    }
    for(int i = 0; i < n; i++) if(ans[i] == -1) ans[i] = mx;
    for(int u : ans) cout << u << " ";
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva1ms316 KiB
2Elfogadva1ms316 KiB
subtask28/8
3Elfogadva1ms332 KiB
4Elfogadva1ms316 KiB
5Elfogadva1ms316 KiB
6Elfogadva1ms420 KiB
7Elfogadva1ms564 KiB
8Elfogadva2ms508 KiB
9Elfogadva2ms316 KiB
10Elfogadva2ms320 KiB
11Elfogadva1ms316 KiB
subtask316/16
12Elfogadva1ms316 KiB
13Elfogadva1ms424 KiB
14Elfogadva1ms316 KiB
15Elfogadva1ms316 KiB
16Elfogadva1ms316 KiB
subtask432/32
17Elfogadva2ms564 KiB
18Elfogadva2ms568 KiB
19Elfogadva3ms564 KiB
20Elfogadva3ms564 KiB
21Elfogadva3ms536 KiB
22Elfogadva3ms564 KiB
23Elfogadva2ms488 KiB
24Elfogadva2ms316 KiB
subtask544/44
25Elfogadva115ms13112 KiB
26Elfogadva118ms13108 KiB
27Elfogadva115ms13108 KiB
28Elfogadva119ms13108 KiB
29Elfogadva118ms13108 KiB
30Elfogadva122ms12848 KiB
31Elfogadva119ms13004 KiB
32Elfogadva122ms12852 KiB
33Elfogadva122ms12812 KiB
34Elfogadva123ms12880 KiB
35Elfogadva129ms12620 KiB
36Elfogadva50ms5060 KiB
37Elfogadva52ms5172 KiB