6473 2023. 12. 02 18:13:44 CWM Titkos sorozat cpp17 Elfogadva 40/40 70ms 23924 KiB
#include <iostream>
#include <vector>
#include <set>
#include <queue>

using namespace std;

int main()
{
    int n;
    cin >> n;
	vector<int> res(n);
	vector<int> input;
	int last = -1;
	int lPN = n;
	vector<set<int>> g(n);
	queue<int> q;
	for (size_t i = 0; i < n; i++)
	{
		int a;
		cin >> a;
		input.push_back(a);
		a--;
		if (a == -2) {
			q.push(i);
		}
		else {
			g[a].insert(i);
		}
	}
	while (!q.empty())
	{
		int index = q.front();
		q.pop();
		res[index] = lPN--;
		for (auto n : g[index]) {
			q.push(n);
		}
	}
	for (size_t i = 0; i < n; i++)
	{
		cout << res[i] << " ";
	}
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 40/40
1 Elfogadva 0/0 3ms 1812 KiB
2 Elfogadva 0/0 34ms 12132 KiB
3 Elfogadva 1/1 3ms 2284 KiB
4 Elfogadva 1/1 3ms 2488 KiB
5 Elfogadva 2/2 3ms 2724 KiB
6 Elfogadva 1/1 4ms 3168 KiB
7 Elfogadva 1/1 3ms 3304 KiB
8 Elfogadva 2/2 3ms 3308 KiB
9 Elfogadva 2/2 70ms 23476 KiB
10 Elfogadva 2/2 68ms 23556 KiB
11 Elfogadva 2/2 68ms 23740 KiB
12 Elfogadva 2/2 65ms 23816 KiB
13 Elfogadva 2/2 68ms 23924 KiB
14 Elfogadva 2/2 65ms 23844 KiB
15 Elfogadva 2/2 64ms 23836 KiB
16 Elfogadva 3/3 64ms 23840 KiB
17 Elfogadva 3/3 65ms 23840 KiB
18 Elfogadva 3/3 64ms 23792 KiB
19 Elfogadva 3/3 64ms 23788 KiB
20 Elfogadva 3/3 63ms 23784 KiB
21 Elfogadva 1/1 61ms 22492 KiB
22 Elfogadva 1/1 63ms 22260 KiB
23 Elfogadva 1/1 61ms 21904 KiB