6472 2023. 12. 02 18:08:46 CWM Titkos sorozat cpp17 Hibás válasz 0/40 65ms 24416 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 (size_t i = 0; i < g[index].size(); i++)
		{
			q.push(*(g[index].begin())+i);
		}
	}
	for (size_t i = 0; i < n; i++)
	{
		cout << res[i] << " ";
	}
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 0/40
1 Elfogadva 0/0 3ms 1820 KiB
2 Hibás válasz 0/0 32ms 12084 KiB
3 Hibás válasz 0/1 3ms 2232 KiB
4 Hibás válasz 0/1 3ms 2456 KiB
5 Hibás válasz 0/2 3ms 2648 KiB
6 Hibás válasz 0/1 3ms 3232 KiB
7 Hibás válasz 0/1 3ms 3176 KiB
8 Hibás válasz 0/2 3ms 3364 KiB
9 Hibás válasz 0/2 65ms 23556 KiB
10 Hibás válasz 0/2 64ms 23404 KiB
11 Hibás válasz 0/2 64ms 23664 KiB
12 Hibás válasz 0/2 64ms 23508 KiB
13 Hibás válasz 0/2 64ms 23524 KiB
14 Hibás válasz 0/2 64ms 23912 KiB
15 Hibás válasz 0/2 64ms 23868 KiB
16 Hibás válasz 0/3 64ms 24120 KiB
17 Hibás válasz 0/3 64ms 24076 KiB
18 Hibás válasz 0/3 64ms 24100 KiB
19 Hibás válasz 0/3 61ms 24328 KiB
20 Hibás válasz 0/3 64ms 24416 KiB
21 Hibás válasz 0/1 61ms 23144 KiB
22 Hibás válasz 0/1 59ms 23040 KiB
23 Hibás válasz 0/1 57ms 22436 KiB