269182026-04-25 10:57:42miszorimarciMexxcpp14Elfogadva 100/100112ms7932 KiB
#include <bits/stdc++.h>
using namespace std;

int main() {
    ios::sync_with_stdio(0); cin.tie(0);
    int n; cin >> n;
    vector<int> a(n + 1, 0), b(n + 1), f;
    for (int i = 1; i <= n; i++) cin >> a[i];
    for (int i = 1; i <= n; i++) {
        if (a[i] < a[i - 1] || a[i] > i) {
            cout << "NEM\n"; return 0;
        }
    }
    for (int i = 1; i <= n; i++) {
        if (a[i] > a[i - 1]) {
            b[i] = a[i - 1];
            for (int j = a[i - 1] + 1; j < a[i]; j++) {
                if (f.empty()) { cout << "NEM\n"; return 0; }
                b[f.back()] = j; f.pop_back();
            }
        } else f.push_back(i);
    }
    int v = n + 1;
    while (!f.empty()) { b[f.back()] = v++; f.pop_back(); }
    cout << "IGEN\n";
    for (int i = 1; i <= n; i++) cout << b[i] << (i == n ? "" : " ");
    cout << endl;
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva1ms316 KiB
2Elfogadva1ms316 KiB
subtask28/8
3Elfogadva1ms316 KiB
4Elfogadva1ms316 KiB
5Elfogadva1ms316 KiB
6Elfogadva1ms316 KiB
7Elfogadva1ms316 KiB
8Elfogadva1ms316 KiB
9Elfogadva1ms316 KiB
10Elfogadva1ms316 KiB
11Elfogadva1ms316 KiB
subtask316/16
12Elfogadva1ms768 KiB
13Elfogadva1ms512 KiB
14Elfogadva1ms508 KiB
15Elfogadva1ms316 KiB
16Elfogadva1ms352 KiB
subtask432/32
17Elfogadva2ms316 KiB
18Elfogadva2ms316 KiB
19Elfogadva2ms316 KiB
20Elfogadva2ms316 KiB
21Elfogadva3ms316 KiB
22Elfogadva3ms316 KiB
23Elfogadva2ms492 KiB
24Elfogadva2ms508 KiB
subtask544/44
25Elfogadva112ms7932 KiB
26Elfogadva108ms7732 KiB
27Elfogadva108ms7680 KiB
28Elfogadva111ms7684 KiB
29Elfogadva109ms7680 KiB
30Elfogadva108ms7680 KiB
31Elfogadva109ms7676 KiB
32Elfogadva108ms7740 KiB
33Elfogadva111ms7756 KiB
34Elfogadva109ms7732 KiB
35Elfogadva112ms7724 KiB
36Elfogadva59ms4168 KiB
37Elfogadva61ms4152 KiB