10587 2024. 04. 06 09:37:07 UVince Mágikus sorozat cpp17 Hibás válasz 0/100 63ms 29512 KiB
#include <bits/stdc++.h>
using namespace std;
using ll=long long;

#define all(a) a.begin(),a.end()

int main(){
    ios_base::sync_with_stdio(0);cin.tie(0);

    int n;
    cin >> n;

    vector<int> z(n),a(n);
    stack<pair<int,int>> last;
    for (int i = 0; i < n; i++)
    {
        cin>>z[i];
        if (z[i]!=0) {
            a[i]=1;
            last.push({i,z[i]});
        }
        else {
            a[i]=2;
            auto [f,l]=last.top();
            if (f+l-1>=i){
                a[i]=a[i-f];
            }
            else {
                auto [f,l]=last.top();
                last.pop();
                if (last.top().second==n){
                    if (a[i-f]==1) a[i]==2;
                    else a[i]=5-a[i-f];
                }
            }
        }
    }
    for (int i : a) cout<<i<<" ";
}
Részfeladat Összpont Teszt Verdikt Idő Memória
subtask1 0/0
1 Elfogadva 3ms 1824 KiB
2 Hibás válasz 4ms 2276 KiB
subtask2 0/15
3 Elfogadva 3ms 2196 KiB
4 Hibás válasz 3ms 2308 KiB
5 Hibás válasz 3ms 2544 KiB
subtask3 0/15
6 Elfogadva 3ms 2604 KiB
7 Elfogadva 3ms 2836 KiB
8 Elfogadva 3ms 3040 KiB
9 Elfogadva 3ms 3396 KiB
10 Hibás válasz 3ms 3672 KiB
subtask4 0/30
11 Hibás válasz 3ms 3836 KiB
12 Hibás válasz 3ms 3980 KiB
13 Hibás válasz 3ms 4268 KiB
14 Hibás válasz 3ms 4492 KiB
subtask5 0/40
15 Hibás válasz 48ms 9380 KiB
16 Hibás válasz 50ms 10092 KiB
17 Hibás válasz 52ms 14536 KiB
18 Hibás válasz 52ms 16320 KiB
19 Hibás válasz 54ms 17600 KiB
20 Hibás válasz 57ms 18968 KiB
21 Hibás válasz 57ms 20336 KiB
22 Hibás válasz 57ms 21704 KiB
23 Hibás válasz 57ms 22900 KiB
24 Hibás válasz 50ms 20364 KiB
25 Hibás válasz 52ms 24236 KiB
26 Hibás válasz 54ms 25544 KiB
27 Hibás válasz 43ms 21804 KiB
28 Hibás válasz 50ms 22424 KiB
29 Hibás válasz 50ms 23148 KiB
30 Elfogadva 63ms 29512 KiB
31 Elfogadva 56ms 28488 KiB
32 Elfogadva 52ms 27956 KiB