Submission #145095

#TimeUsernameProblemLanguageResultExecution timeMemory
145095MihneaHedeaAlkemija (COCI18_alkemija)C++14
0 / 80
103 ms6620 KiB
#include<iostream> #include<algorithm> #include<queue> using namespace std; int poz,n,m,a,i,j,k,l,p,sol[100001],r,f[100001],nr[100001]; vector<int> ans[100001],v[100001]; queue<int> q; int main(){ cin>>n>>m; for(i=1;i<=m;i++){ cin>>a; f[a]=1; sol[++p]=a; } cin>>k;{ for(i=1;i<=k;i++) cin>>l>>r; for(j=1;j<=l;j++){ cin>>a; if(f[a]==0){ nr[i]++; v[a].push_back(i); } } for(j=1;j<=r;j++) { cin>>a; if(f[a]==0) ans[i].push_back(a); } if(nr[i]==0) q.push(i); } while(!q.empty()){ poz=q.front(); q.pop(); for(auto it:ans[poz]) if(f[it]==0){ f[it]=1;sol[++p]=it; for(auto IT:v[it]){ nr[IT]--; if(nr[IT]==0) q.push(IT); } } } sort(sol+1,sol+p+1); cout<<p<<"\n"; for(i=1;i<=p;i++) cout<<sol[i]<<" "; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...