80412024-01-12 11:20:40UnluckYTitkos sorozatcpp17Wrong answer 0/40177ms129784 KiB
// Source: https://usaco.guide/general/io

#include <bits/stdc++.h>
using namespace std;


vector<int> tops;
vector<bool> seen;
vector<vector<int>> v;

void dfs(int x){
    if (seen[x]) return;
    seen[x] = true;
    for (int i : v[x]) dfs(i);
    tops.push_back(x);
}


int main() {
	
	int n; cin >> n;

    v.assign(n+1, {});
    seen.assign(n+1, false);
    vector<int> vv;


    for (int i = 1; i <= n; i++){
        int a; cin >> a;
        if (a == -1){
            vv.push_back(i);
            continue;
        }
        v[i].push_back(a);
        for (int j : vv){
            v[a].push_back(j);
        }
    }


    for (int i = 1; i <= n; i++) dfs(i);

    reverse(tops.begin(), tops.end());

    for (int i : tops) cout << i << " ";

    return 0;


}
SubtaskSumTestVerdictTimeMemory
base0/40
1Accepted0/03ms2092 KiB
2Wrong answer0/032ms8992 KiB
3Wrong answer0/13ms2616 KiB
4Wrong answer0/13ms2748 KiB
5Wrong answer0/23ms2956 KiB
6Wrong answer0/13ms3256 KiB
7Wrong answer0/13ms3468 KiB
8Wrong answer0/23ms3924 KiB
9Wrong answer0/268ms17344 KiB
10Wrong answer0/2177ms113216 KiB
11Wrong answer0/259ms17648 KiB
12Wrong answer0/259ms18452 KiB
13Wrong answer0/259ms19264 KiB
14Wrong answer0/261ms20144 KiB
15Wrong answer0/259ms21524 KiB
16Wrong answer0/361ms22328 KiB
17Wrong answer0/361ms23460 KiB
18Wrong answer0/361ms24412 KiB
19Wrong answer0/363ms26004 KiB
20Wrong answer0/364ms29696 KiB
21Runtime error0/1104ms129784 KiB
22Runtime error0/197ms129708 KiB
23Runtime error0/197ms129692 KiB