6117 2023. 11. 01 18:49:41 horvathabel Mexx cpp17 Elfogadva 100/100 252ms 24768 KiB
#include <bits/stdc++.h>
using namespace std;
int main()
{
    int n;
    cin>>n;
    vector<int> ans(n,-1);
    vector<pair<bool,int>> szm={{0,0}};
    int x;
    cin>>x;
    vector<int> a={x};
    bool mego=true;
    for (int i=1; i<n;i++){

        szm.push_back({false,i});
        int x;
        cin>>x;
        a.push_back(x);

        if (x>i+1 || a[i]<a[i-1]){
            cout<<"NEM\n";
            return 0;
        }
        if (a[i]!=a[i-1]){
            ans[i]=a[i-1];
            if (szm.size()>=a[i-1]){
                szm[a[i-1]].first=true;
            }
            else{
                mego=false;
            }
        }
    }

    szm.push_back({false,n});
    szm[a[n-1]].first=true;
    if (!mego){
        cout<<"NEM\n";
        return 0;
    }
    if (a[0]>1){
        cout<<"NEM\n";
        return 0;
    }
    for (int i=n-1;i>=0;i--){
        if (ans[i]==-1){
            while(!szm.empty() && szm[szm.size()-1].first==1){
                szm.pop_back();
            }
            ans[i]=szm[szm.size()-1].second;
            szm.pop_back();
        }
    }
    cout<<"IGEN\n";
    for (int x:ans) cout<<x<<" ";
}
Részfeladat Összpont Teszt Verdikt Idő Memória
subtask1 0/0
1 Elfogadva 3ms 1684 KiB
2 Elfogadva 3ms 1940 KiB
subtask2 8/8
3 Elfogadva 3ms 2168 KiB
4 Elfogadva 3ms 2356 KiB
5 Elfogadva 3ms 2600 KiB
6 Elfogadva 3ms 2816 KiB
7 Elfogadva 3ms 2944 KiB
8 Elfogadva 2ms 3160 KiB
9 Elfogadva 3ms 3328 KiB
10 Elfogadva 3ms 3548 KiB
11 Elfogadva 3ms 3632 KiB
subtask3 16/16
12 Elfogadva 3ms 3752 KiB
13 Elfogadva 2ms 3840 KiB
14 Elfogadva 2ms 3956 KiB
15 Elfogadva 2ms 3844 KiB
16 Elfogadva 3ms 3960 KiB
subtask4 32/32
17 Elfogadva 4ms 4232 KiB
18 Elfogadva 4ms 4236 KiB
19 Elfogadva 4ms 4232 KiB
20 Elfogadva 6ms 4356 KiB
21 Elfogadva 4ms 4440 KiB
22 Elfogadva 4ms 4444 KiB
23 Elfogadva 4ms 4428 KiB
24 Elfogadva 4ms 4548 KiB
subtask5 44/44
25 Elfogadva 246ms 23896 KiB
26 Elfogadva 250ms 23908 KiB
27 Elfogadva 246ms 23900 KiB
28 Elfogadva 245ms 23924 KiB
29 Elfogadva 246ms 24016 KiB
30 Elfogadva 248ms 24068 KiB
31 Elfogadva 246ms 24184 KiB
32 Elfogadva 248ms 24352 KiB
33 Elfogadva 246ms 24540 KiB
34 Elfogadva 246ms 24768 KiB
35 Elfogadva 252ms 24724 KiB
36 Elfogadva 143ms 22172 KiB
37 Elfogadva 150ms 22556 KiB