Submission #145221

#TimeUsernameProblemLanguageResultExecution timeMemory
145221DiviaAlkemija (COCI18_alkemija)C++14
80 / 80
209 ms12760 KiB
#include <iostream> #include <vector> #include <deque> using namespace std; int n,m,i,j,x,f[100010],k,viz[100010],react,elem,sol; struct reactie{ int L,R,necunoscute; vector <int> Y;} w[100010]; vector <int> lista[100010]; deque <int> coada; int main(){ cin>>n>>m; for(i=1;i<=m;i++){ cin>>x; f[x]=1; } cin>>k; for(i=1;i<=k;i++){ cin>>w[i].L>>w[i].R; w[i].necunoscute=w[i].L; for(j=1;j<=w[i].L;j++){ cin>>x; lista[x].push_back(i); if(f[x]==1){ w[i].necunoscute--; if(w[i].necunoscute==0){ coada.push_back(i); viz[i]=1;} } } for(j=1;j<=w[i].R;j++){ cin>>x; w[i].Y.push_back(x); } } while(coada.size()){ react=coada.front(); coada.pop_front(); for(i=0;i<w[react].Y.size();i++){ elem=w[react].Y[i]; if(f[elem]==0){ f[elem]=1; for(j=0;j<lista[elem].size();j++){ k=lista[elem][j]; if(viz[k]==0){ w[k].necunoscute--; if(w[k].necunoscute==0){ coada.push_back(k); viz[k]=1; } } } } } } for(i=1;i<=n;i++) if(f[i])sol++; cout<<sol<<"\n"; for(i=1;i<=n;i++) if(f[i])cout<<i<<" "; return 0; }

Compilation message (stderr)

alkemija.cpp: In function 'int main()':
alkemija.cpp:39:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for(i=0;i<w[react].Y.size();i++){
                 ~^~~~~~~~~~~~~~~~~~
alkemija.cpp:43:26: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
                 for(j=0;j<lista[elem].size();j++){
                         ~^~~~~~~~~~~~~~~~~~~
#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...