Submission #143363

#TimeUsernameProblemLanguageResultExecution timeMemory
143363vladciuperceanuAlkemija (COCI18_alkemija)C++14
80 / 80
194 ms11092 KiB
#include <iostream> #include <deque> #include <vector> using namespace std; int n,m,k,i,j,x,f[100005],viz[100005]; deque<int> coada; vector<int> lista[100005]; struct reactie { int L; int R; int necunoscute; vector<int> Y; }; reactie w[100005]; 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.empty()) { int reac = coada.front(); coada.pop_front(); for (i=0; i<w[reac].Y.size(); i++) { int elem = w[reac].Y[i]; if (f[elem] == 0) { f[elem] = 1; for (j=0; j<lista[elem].size(); j++) { int val = lista[elem][j]; if (viz[val] == 0) { w[val].necunoscute--; if (w[val].necunoscute == 0) { coada.push_back(val); viz[val] = 1; } } } } } } int sol = 0; 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:58:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for (i=0; i<w[reac].Y.size(); i++)
                   ~^~~~~~~~~~~~~~~~~
alkemija.cpp:64:28: 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...