5246 2023. 04. 23 21:07:23 nmarci Mágikus sorozat cpp11 Hibás válasz 15/100 137ms 16012 KiB
#include <bits/stdc++.h>

using namespace std;
using ll = long long int;

const ll mod = 1e9 + 7;

int z[300100], a[300100];

int main(){
    int n;
    cin >> n;
    for(int i = 1; i <= n; ++i){
        cin >> z[i];
    }
    a[1] = 1;
    int index = 0, maxind = 0;
    for(int i = 2; i <= n; ++i){
        if(z[i] > 0){
            maxind = z[i] + 1;
            index = 1;
        }
        if(index > 0){
            a[i] = a[index];
            ++index;
            if(index == maxind){
                index = 0;
            }
        }
        else{
            if(a[maxind] == 2){
                a[i] = 3;
            }
            else{
                a[i] = 2;
            }
            maxind = 0;
        }
    }
    for(int i = 1; i <= n; ++i){
        cout << a[i] << " ";
    }
    return 0;
}
Részfeladat Összpont Teszt Verdikt Idő Memória
subtask1 0/0
1 Elfogadva 3ms 2164 KiB
2 Elfogadva 6ms 2392 KiB
subtask2 15/15
3 Elfogadva 4ms 2556 KiB
4 Elfogadva 4ms 2928 KiB
5 Elfogadva 4ms 2888 KiB
subtask3 0/15
6 Elfogadva 3ms 3020 KiB
7 Elfogadva 3ms 3148 KiB
8 Elfogadva 3ms 3408 KiB
9 Elfogadva 3ms 3416 KiB
10 Hibás válasz 3ms 3612 KiB
subtask4 0/30
11 Hibás válasz 4ms 3724 KiB
12 Elfogadva 3ms 3736 KiB
13 Hibás válasz 3ms 3740 KiB
14 Hibás válasz 3ms 3996 KiB
subtask5 0/40
15 Elfogadva 90ms 9348 KiB
16 Hibás válasz 90ms 10040 KiB
17 Hibás válasz 93ms 10932 KiB
18 Hibás válasz 97ms 11804 KiB
19 Hibás válasz 107ms 13036 KiB
20 Hibás válasz 112ms 14280 KiB
21 Hibás válasz 118ms 15408 KiB
22 Hibás válasz 114ms 15736 KiB
23 Hibás válasz 115ms 15684 KiB
24 Hibás válasz 93ms 15684 KiB
25 Hibás válasz 97ms 15688 KiB
26 Hibás válasz 104ms 16012 KiB
27 Hibás válasz 82ms 15424 KiB
28 Elfogadva 96ms 15968 KiB
29 Elfogadva 93ms 15968 KiB
30 Elfogadva 137ms 15968 KiB
31 Elfogadva 116ms 15960 KiB
32 Elfogadva 100ms 15896 KiB