Submission #959988

#TimeUsernameProblemLanguageResultExecution timeMemory
959988pccPovjerenstvo (COI22_povjerenstvo)C++17
0 / 100
117 ms39880 KiB
#include <bits/stdc++.h>
using namespace std;

#pragma GCC optimize("O3,unroll-loops")
#pragma GCC target("avx2,popcnt,sse4")

#define pii pair<int,int>
#define fs first
#define sc second
#define ll long long

const int mxn = 5e5+10;

int N,M;
vector<int> paths[mxn];
int deg[mxn];
queue<int> q;
int ans[mxn];

int main(){
	ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
	cin>>N>>M;
	memset(ans,-1,sizeof(ans));
	for(int i = 1;i<=M;i++){
		int a,b;
		cin>>a>>b;
		deg[a]++;
		paths[b].push_back(a);
	}
	for(int i = 1;i<=N;i++)if(!deg[i])q.push(i);
	while(!q.empty()){
		auto now = q.front();
		q.pop();
		if(ans[now] == -1)ans[now] = 1;
		for(auto nxt:paths[now]){
			deg[nxt]--;
			if(!deg[nxt])q.push(nxt);
			if(ans[now]){
				if(ans[nxt] == -1)ans[nxt] = 0;
				else{
					cout<<-1;
					return 0;
				}
			}
		}
	}
	vector<int> v;
	for(int i = 1;i<=N;i++){
		if(ans[i] == 1)v.push_back(i);
	}
	cout<<v.size()<<'\n';
	for(auto &i:v)cout<<i<<' ';cout<<'\n';
	return 0;
}

Compilation message (stderr)

Main.cpp: In function 'int main()':
Main.cpp:52:2: warning: this 'for' clause does not guard... [-Wmisleading-indentation]
   52 |  for(auto &i:v)cout<<i<<' ';cout<<'\n';
      |  ^~~
Main.cpp:52:29: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'for'
   52 |  for(auto &i:v)cout<<i<<' ';cout<<'\n';
      |                             ^~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...