7310 2024. 01. 06 20:28:25 anon Mexx cpp17 Részben helyes 92/100 115ms 32524 KiB
#include <bits/stdc++.h>
#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;
    ll i, j, rs, N;
    cin >> N;
    vector<ll> lucky(N);
    for(i = 0; i < N; i++)
        cin >> lucky[i];
    rs = -1;
    ok = true;
    vector<ll> ans(N);
    stack<ll> free_places;
    for(i = 1; i < N; i++) {
        if(lucky[i] == lucky[i - 1])
            continue;
        if(lucky[i] - lucky[i - 1] > i - rs + free_places.size()) {
            ok = false;
            break;
        }
        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]) {
            ans[free_places.top()] = j++ + lucky[i - 1];
            free_places.pop();
        }
        rs = i;
    }
    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 1828 KiB
2 Elfogadva 3ms 2156 KiB
subtask2 0/8
3 Részben helyes 3ms 2372 KiB
4 Részben helyes 3ms 2660 KiB
5 Elfogadva 3ms 2648 KiB
6 Részben helyes 3ms 2868 KiB
7 Hibás válasz 3ms 3008 KiB
8 Elfogadva 3ms 3088 KiB
9 Elfogadva 3ms 3160 KiB
10 Elfogadva 3ms 3388 KiB
11 Elfogadva 3ms 3476 KiB
subtask3 16/16
12 Elfogadva 3ms 3484 KiB
13 Elfogadva 3ms 3632 KiB
14 Elfogadva 2ms 3456 KiB
15 Elfogadva 3ms 3460 KiB
16 Elfogadva 3ms 3596 KiB
subtask4 32/32
17 Elfogadva 4ms 4076 KiB
18 Elfogadva 4ms 3996 KiB
19 Elfogadva 4ms 4308 KiB
20 Elfogadva 4ms 4272 KiB
21 Elfogadva 4ms 4476 KiB
22 Elfogadva 4ms 4376 KiB
23 Elfogadva 3ms 4436 KiB
24 Elfogadva 3ms 4476 KiB
subtask5 44/44
25 Elfogadva 115ms 23584 KiB
26 Elfogadva 114ms 26784 KiB
27 Elfogadva 112ms 30336 KiB
28 Elfogadva 114ms 30976 KiB
29 Elfogadva 111ms 31080 KiB
30 Elfogadva 114ms 31180 KiB
31 Elfogadva 112ms 31164 KiB
32 Elfogadva 112ms 31188 KiB
33 Elfogadva 112ms 31164 KiB
34 Elfogadva 112ms 31280 KiB
35 Elfogadva 114ms 31172 KiB
36 Elfogadva 67ms 32204 KiB
37 Elfogadva 67ms 32524 KiB