10513 2024. 04. 04 11:24:36 RRoli Mexx cpp17 Hibás válasz 76/100 108ms 13492 KiB
#include <bits/stdc++.h>
using namespace std;

int n, a[500001], b[500001];
bool c[1000001];

int main()
{
    ios::sync_with_stdio(0);
    cin.tie(0);

    cin>> n;
    for(int i = 1; i <= n; i++) {
        cin>> a[i];
        b[i] = -1;
        c[a[i]] = true;
    }
    c[0] = true;

    for(int i = 0; i < n; i++)
        if(a[i+1] > a[i])
            b[i+1] = a[i];

    int szam = 0;
    bool jo = true;
    for(int i = 1; i <= n; i++) {
        while(c[szam]) szam++;
        if(b[i] == -1) {
            b[i] = szam;
            szam++;
        } else if(szam < a[i]-1)
            jo = false;
        if(i > 1 && a[i] < a[i-1]) jo = false;
    }

    if(!jo || szam < a[n]-1) cout << "NEM";
    else {
        cout << "IGEN\n";
        for(int i = 1; i <= n; i++) cout << b[i] << ' ';
    }

    return 0;
}
Részfeladat Összpont Teszt Verdikt Idő Memória
subtask1 0/0
1 Elfogadva 3ms 1900 KiB
2 Elfogadva 3ms 2244 KiB
subtask2 0/8
3 Elfogadva 3ms 2452 KiB
4 Elfogadva 3ms 2660 KiB
5 Elfogadva 3ms 3000 KiB
6 Elfogadva 3ms 2956 KiB
7 Hibás válasz 3ms 3108 KiB
8 Elfogadva 3ms 3304 KiB
9 Elfogadva 3ms 3264 KiB
10 Elfogadva 3ms 3392 KiB
11 Elfogadva 3ms 3544 KiB
subtask3 0/16
12 Elfogadva 3ms 3616 KiB
13 Elfogadva 3ms 3688 KiB
14 Elfogadva 3ms 3568 KiB
15 Hibás válasz 3ms 3644 KiB
16 Elfogadva 3ms 3976 KiB
subtask4 32/32
17 Elfogadva 4ms 4188 KiB
18 Elfogadva 4ms 4396 KiB
19 Elfogadva 4ms 4488 KiB
20 Elfogadva 4ms 4468 KiB
21 Elfogadva 4ms 4504 KiB
22 Elfogadva 4ms 4492 KiB
23 Elfogadva 3ms 4260 KiB
24 Elfogadva 3ms 4528 KiB
subtask5 44/44
25 Elfogadva 105ms 13124 KiB
26 Elfogadva 104ms 13332 KiB
27 Elfogadva 104ms 13284 KiB
28 Elfogadva 104ms 13276 KiB
29 Elfogadva 105ms 13356 KiB
30 Elfogadva 104ms 13392 KiB
31 Elfogadva 104ms 13492 KiB
32 Elfogadva 107ms 13276 KiB
33 Elfogadva 107ms 13356 KiB
34 Elfogadva 108ms 13404 KiB
35 Elfogadva 108ms 13356 KiB
36 Elfogadva 63ms 12640 KiB
37 Elfogadva 63ms 12596 KiB