제출 #143221

#제출 시각아이디문제언어결과실행 시간메모리
143221SeekingOblivionAlkemija (COCI18_alkemija)C++14
80 / 80
201 ms11008 KiB
#include<iostream> #include<fstream> #define fin cin #define fout cout #include<algorithm> #include<queue> using namespace std; //ifstream fin("date.in"); //ofstream fout("date.out"); int poz,n,m,a,i,j,k,l,p,sol[100001],r,f[100001],nr[100001]; vector<int> rez[100001],v[100001]; queue<int> q; int main(){ fin>>n>>m; for(i=1;i<=m;i++){ fin>>a;f[a]=1; sol[++p]=a; } fin>>k; for(i=1;i<=k;i++) { fin>>l>>r; for(j=1;j<=l;j++){ fin>>a; if(f[a]==0){ nr[i]++; v[a].push_back(i); } } for(j=1;j<=r;j++) { fin>>a; if(f[a]==0) rez[i].push_back(a); } if(nr[i]==0) q.push(i); } while(!q.empty()){ poz=q.front();q.pop(); for(auto it:rez[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); fout<<p<<"\n"; for(i=1;i<=p;i++) fout<<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...