Submission #144784

#TimeUsernameProblemLanguageResultExecution timeMemory
144784RaresRoscaAlkemija (COCI18_alkemija)C++14
80 / 80
206 ms12588 KiB
#include <iostream> #include <deque> #include <vector> using namespace std; int n,m,i,j,x,f[100010],f1[100010],k,ec,reac,sol; deque<int> q; vector<int> D[100010]; struct reactie{ int L; int R; int N; vector<int> Y; }; reactie v[100010]; 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>>v[i].L>>v[i].R; v[i].N=v[i].L; for(j=1;j<=v[i].L;j++){ cin>>x; D[x].push_back(i); if(f[x]==1){ v[i].N--; if(v[i].N==0){ q.push_back(i); f1[i]=1; } } } for(j=1;j<=v[i].R;j++){ cin>>x; v[i].Y.push_back(x); } } while(!q.empty()){ x=q.front(); q.pop_front(); for(i=0;i<v[x].Y.size();i++){ ec=v[x].Y[i]; if(f[ec]==0){ f[ec]=1; for(j=0;j<D[ec].size();j++){ reac=D[ec][j]; if(f1[reac]==0){ v[reac].N--; if(v[reac].N==0){ q.push_back(reac); f1[reac]=1; } } } } } } for(i=1;i<=n;i++) if(f[i]==1) sol++; cout<<sol<<"\n"; for(i=1;i<=n;i++) if(f[i]==1) cout<<i<<" "; return 0; }

Compilation message (stderr)

alkemija.cpp: In function 'int main()':
alkemija.cpp:44:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for(i=0;i<v[x].Y.size();i++){
                 ~^~~~~~~~~~~~~~
alkemija.cpp:48:26: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
                 for(j=0;j<D[ec].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...