131142025-01-06 16:48:17RRoliKritikus munkákcpp17Wrong answer 0/100225ms10184 KiB
#include <bits/stdc++.h>
using namespace std;

int main() {
	int n, m;
	cin >> n >> m;
	vector<int> be(n+1, 0);
	vector<vector<int>> ki(n+1, vector<int>(0));
	for(int i = 0; i < m; i++) {
		int e, u;
		cin >> e >> u;
		be[u]++;
		ki[e].push_back(u);
	}
	vector<int> k, sor;
	set<int> group;
	int e = 0;

	for(int i = 1; i <= n; i++) {
		if(be[i] == 0) {
			sor.push_back(i);
			group.insert(i);
		}
	}

	while(e <= n) {
		group.erase(sor[e]);
		if(group.size() == 0) {
			k.push_back(sor[e]);
		}
		
		for(auto i : ki[sor[e]]) {
			be[i]--;
			group.insert(i);
			if(be[i] == 0 && i != 0) {
				sor.push_back(i);
			}
		}
		
		e++;
	}

	vector<int> vegso;
	for(auto i : k)
		if(i != 0)
			vegso.push_back(i);
		
	cout << vegso.size() << '\n';
	for(auto i : vegso) cout << i << ' ';
	
	
	return 0;
}
SubtaskSumTestVerdictTimeMemory
subtask10/0
1Accepted1ms336 KiB
2Wrong answer150ms7100 KiB
subtask20/25
3Wrong answer1ms316 KiB
4Wrong answer1ms508 KiB
5Wrong answer3ms316 KiB
6Wrong answer1ms316 KiB
7Wrong answer4ms544 KiB
subtask30/25
8Wrong answer37ms1588 KiB
9Wrong answer14ms948 KiB
10Wrong answer16ms820 KiB
11Wrong answer26ms1092 KiB
12Wrong answer26ms1076 KiB
subtask40/25
13Wrong answer120ms5552 KiB
14Wrong answer103ms5172 KiB
15Wrong answer100ms5172 KiB
16Wrong answer93ms5040 KiB
17Wrong answer92ms5036 KiB
subtask50/25
18Wrong answer225ms10160 KiB
19Wrong answer215ms10184 KiB
20Wrong answer212ms9932 KiB
21Wrong answer207ms9904 KiB
22Wrong answer182ms9628 KiB