Submission #1246054

#TimeUsernameProblemLanguageResultExecution timeMemory
1246054warrennAlkemija (COCI18_alkemija)C++20
80 / 80
110 ms12856 KiB
#include <bits/stdc++.h> using namespace std; #define int long long int n,m; set<int>st; int deg[100002]; vector<int>hasil[100002]; vector<int>mana[100002]; signed main(){ cin>>n>>m; for(int q=1;q<=m;q++){ int a; cin>>a; st.insert(a); } int k; cin>>k; queue<int>qu; for(int q=1;q<=k;q++){ int l,r; cin>>l>>r; deg[q]=l; for(int w=1;w<=l;w++){ int zat; cin>>zat; mana[zat].push_back(q); if(st.count(zat))deg[q]--; } for(int w=1;w<=r;w++){ int zat; cin>>zat; hasil[q].push_back(zat); } //cout<<deg[q]<<endl; if(deg[q]==0)qu.push(q); } while(qu.size()){ int idx=qu.front(); qu.pop(); for(auto r : hasil[idx]){ if(st.count(r))continue; st.insert(r); for(auto tempat : mana[r]){ deg[tempat]--; if(deg[tempat]==0)qu.push(tempat); } } } cout<<st.size()<<endl; for(auto r : st){ cout<<r<<" "; } cout<<endl; }
#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...