7313 2024. 01. 06 21:05:15 anon Mexx cpp17 Részben helyes 0/100 115ms 21888 KiB
#include <bits/stdc++.h>
#define all(x) (x).begin(), (x).end()
#define FastIO ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL)
using namespace std;
typedef long long ll;
int main() {
    FastIO;
    bool ok, same;
    ll i, j, rs, N;
    cin >> N;
    vector<ll> lucky(N);
    for(i = 0; i < N; i++)
        cin >> lucky[i];
    rs = -1;
    ok = same = true;
    vector<ll> ans(N, 0);
    stack<ll> free_places;
    for(i = 1; i < N; i++) {
        if(lucky[i] == lucky[i - 1])
            continue;
        same = false;
        for(j = 0; j < min(lucky[i] - lucky[i - 1], i - rs); j++)
            ans[i - j] = j + lucky[i - 1];
        while(j < i - rs)
            free_places.push(i - j++);
        while(j < lucky[i] - lucky[i - 1]) {
            if(free_places.empty()) {
                ok = false;
                goto done;
            }
            ans[free_places.top()] = j++ + lucky[i - 1];
            free_places.pop();
        }
        rs = i;
    }
    if(same) {
        switch(lucky[0]) {
            case 0:
                ok = true;
                fill(all(ans), 1);
                break;
            case 1:
                ok = true;
                break;
            default:
                ok = false;
        }
    }
    done:;
    if(ok) {
        cout << "IGEN\n";
        for(const auto &x : ans)
            cout << x << ' ';
        cout << '\n';
    }
    else
        cout << "NEM\n";
    return 0;
}
Részfeladat Összpont Teszt Verdikt Idő Memória
subtask1 0/0
1 Elfogadva 3ms 1824 KiB
2 Elfogadva 3ms 2024 KiB
subtask2 0/8
3 Elfogadva 3ms 2248 KiB
4 Részben helyes 3ms 2444 KiB
5 Elfogadva 3ms 2676 KiB
6 Részben helyes 2ms 2756 KiB
7 Elfogadva 2ms 2764 KiB
8 Elfogadva 3ms 2884 KiB
9 Elfogadva 3ms 2964 KiB
10 Elfogadva 3ms 3180 KiB
11 Hibás válasz 3ms 3260 KiB
subtask3 0/16
12 Elfogadva 3ms 3388 KiB
13 Elfogadva 3ms 3476 KiB
14 Elfogadva 3ms 3472 KiB
15 Elfogadva 3ms 3604 KiB
16 Hibás válasz 3ms 3852 KiB
subtask4 0/32
17 Elfogadva 4ms 4296 KiB
18 Elfogadva 4ms 4220 KiB
19 Elfogadva 4ms 4340 KiB
20 Elfogadva 4ms 4508 KiB
21 Elfogadva 4ms 4484 KiB
22 Elfogadva 4ms 4564 KiB
23 Elfogadva 3ms 4580 KiB
24 Hibás válasz 4ms 4832 KiB
subtask5 0/44
25 Elfogadva 115ms 20592 KiB
26 Elfogadva 112ms 20272 KiB
27 Elfogadva 115ms 20336 KiB
28 Elfogadva 114ms 20372 KiB
29 Elfogadva 115ms 20392 KiB
30 Elfogadva 115ms 20384 KiB
31 Elfogadva 114ms 20496 KiB
32 Elfogadva 115ms 20392 KiB
33 Elfogadva 115ms 20396 KiB
34 Elfogadva 115ms 20488 KiB
35 Elfogadva 115ms 20464 KiB
36 Elfogadva 67ms 21484 KiB
37 Hibás válasz 112ms 21888 KiB