100322024-03-24 23:09:08RRoliMexxcpp17Részben helyes 0/1003ms4728 KiB
#include <bits/stdc++.h>
using namespace std;

int n, a[500001], b[500001];
set<int> marvan;

int main()
{
    ios::sync_with_stdio(0);
    cin.tie(0);
    ifstream f("be.in");

    f >> n;
    for(int i = 1; i <= n; i++) {
        f >> a[i];
        b[i] = -1;
        marvan.insert(a[i]);
    }
    for(int i = 1; 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(marvan.count(szam) == 1) szam++;
        if(b[i] == -1) {
            b[i] = szam;
            szam++;
        } else if(szam < b[i]-1)
            jo = false;
    }

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

    return 0;
}


RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Részben helyes3ms1964 KiB
2Részben helyes3ms2180 KiB
subtask20/8
3Részben helyes3ms2392 KiB
4Részben helyes3ms2476 KiB
5Részben helyes3ms2668 KiB
6Részben helyes3ms2608 KiB
7Hibás válasz3ms2804 KiB
8Részben helyes3ms3004 KiB
9Részben helyes3ms3228 KiB
10Részben helyes3ms3196 KiB
11Hibás válasz3ms3324 KiB
subtask30/16
12Részben helyes3ms3524 KiB
13Részben helyes3ms3500 KiB
14Részben helyes3ms3600 KiB
15Hibás válasz3ms3524 KiB
16Hibás válasz2ms3608 KiB
subtask40/32
17Részben helyes3ms3700 KiB
18Részben helyes3ms3700 KiB
19Részben helyes3ms3736 KiB
20Részben helyes3ms3828 KiB
21Részben helyes3ms3820 KiB
22Részben helyes2ms3828 KiB
23Hibás válasz2ms3968 KiB
24Hibás válasz2ms3936 KiB
subtask50/44
25Részben helyes3ms3928 KiB
26Részben helyes3ms3908 KiB
27Részben helyes3ms3904 KiB
28Részben helyes3ms4188 KiB
29Részben helyes3ms4128 KiB
30Részben helyes3ms4092 KiB
31Részben helyes3ms4316 KiB
32Részben helyes3ms4192 KiB
33Részben helyes3ms4320 KiB
34Részben helyes3ms4412 KiB
35Részben helyes3ms4652 KiB
36Hibás válasz3ms4728 KiB
37Hibás válasz3ms4600 KiB