Submission #145096

#TimeUsernameProblemLanguageResultExecution timeMemory
145096MihneaHedeaAlkemija (COCI18_alkemija)C++14
80 / 80
203 ms11660 KiB
#include <iostream> #include <deque> #include <vector> #include <bitset> using namespace std; struct reactie { int L; int R; int necunoscute; vector<int> Y; }; reactie e[100010]; deque<int> coada; vector<int> Lista[100010]; int n, m, i, v, k, j, x, nod, ec, reactie, sol; bitset<100010> f, viz; int main () { cin>>n>>m; for (i=1;i<=m;i++) { cin>>v; f[v] = 1; } cin>>k; for (i=1;i<=k;i++) { cin>>e[i].L>>e[i].R; e[i].necunoscute = e[i].L; for (j=1;j<=e[i].L;j++) { cin>>x; Lista[x].push_back(i); if (f[x] == 1) { e[i].necunoscute--; if (e[i].necunoscute == 0) { coada.push_back(i); viz[i] = 1; } } } for (j=1;j<=e[i].R;j++) { cin>>x; e[i].Y.push_back(x); } } while (!coada.empty()) { nod = coada.front(); coada.pop_front(); for (i=0;i<e[nod].Y.size();i++) { ec = e[nod].Y[i]; if (f[ec] == 0) { f[ec] = 1; for (j=0;j<Lista[ec].size();j++) { reactie = Lista[ec][j]; if (viz[reactie] == 0) { e[reactie].necunoscute--; if (e[reactie].necunoscute == 0) { coada.push_back(reactie); viz[reactie] = 1; } } } } } } for (i=1;i<=100000;i++) if (f[i] == 1) sol++; cout<<sol<<"\n"; for (i=1;i<=100000;i++) if (f[i] == 1) cout<<i<<" "; return 0; }

Compilation message (stderr)

alkemija.cpp: In function 'int main()':
alkemija.cpp:51:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for (i=0;i<e[nod].Y.size();i++) {
                  ~^~~~~~~~~~~~~~~~
alkemija.cpp:55:27: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
                 for (j=0;j<Lista[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...