106122024-04-06 15:12:22AblablablaMexxcpp17Accepted 100/100257ms16872 KiB
#include <bits/stdc++.h>

using namespace std;

int main()
{
    int n;
    cin >> n;

    vector<int> szamok(n);
    for(int i = 0; i < n; i++){
        cin >> szamok[i];
    }

    for(int i = 0; i < n; i++){
        if(szamok[i] > i + 1){
            cout << "NEM\n";
            return 0;
        }
    }
    for(int i = 1; i < n; i++){
        if(szamok[i - 1] > szamok[i]){
            cout << "NEM\n";
            return 0;
        }
    }

    cout << "IGEN\n";

    vector<bool> foglalt(2 * n + 1, 0);
    if(szamok[0] != 0) foglalt[0] = 1;
    for(int i = 1; i < n; i++){
        if(szamok[i - 1] != szamok[i]){
            foglalt[szamok[i - 1]] = 1;
        }
    }
    foglalt[szamok[n - 1]] = 1;

    vector<int> szabad;
    for(int i = 0; i <= 2 * n; i++){
        if(!foglalt[i]){
            szabad.push_back(i);
        }
    }

    int ind = 0;

    if(szamok[0] == 0){
        cout << szabad[ind] << " ";
        ind++;
    } else{
        cout << "0 ";
    }

    for(int i = 1; i < n; i++){
        if(szamok[i - 1] != szamok[i]){
            cout << szamok[i - 1] << " ";
        } else{
            cout << szabad[ind] << " ";
            ind++;
        }
    }

    cout << "\n";
}
SubtaskSumTestVerdictTimeMemory
subtask10/0
1Accepted3ms1684 KiB
2Accepted3ms1936 KiB
subtask28/8
3Accepted3ms2172 KiB
4Accepted3ms2284 KiB
5Accepted3ms2692 KiB
6Accepted3ms2648 KiB
7Accepted3ms2864 KiB
8Accepted3ms2948 KiB
9Accepted3ms3192 KiB
10Accepted3ms3272 KiB
11Accepted2ms3276 KiB
subtask316/16
12Accepted3ms3272 KiB
13Accepted2ms3220 KiB
14Accepted2ms3224 KiB
15Accepted2ms3220 KiB
16Accepted2ms3220 KiB
subtask432/32
17Accepted4ms3496 KiB
18Accepted4ms3500 KiB
19Accepted4ms3500 KiB
20Accepted4ms3492 KiB
21Accepted6ms3488 KiB
22Accepted6ms3620 KiB
23Accepted4ms3268 KiB
24Accepted4ms3276 KiB
subtask544/44
25Accepted252ms15688 KiB
26Accepted252ms15932 KiB
27Accepted254ms15880 KiB
28Accepted252ms16128 KiB
29Accepted254ms16340 KiB
30Accepted254ms16684 KiB
31Accepted256ms16548 KiB
32Accepted256ms16768 KiB
33Accepted252ms16824 KiB
34Accepted254ms16872 KiB
35Accepted257ms16804 KiB
36Accepted177ms8400 KiB
37Accepted174ms8396 KiB