Submission #584072

#TimeUsernameProblemLanguageResultExecution timeMemory
584072yanndevToy Train (IOI17_train)C++17
0 / 100
8 ms1204 KiB
#include <bits/stdc++.h> using namespace std; const int MX = 5042; vector<int> graph[MX]; vector<int> who_wins(vector<int> a, vector<int> r, vector<int> u, vector<int> v) { int n, m; n = (int)a.size(); m = (int)u.size(); vector<int> ans (n); bool isChain = true; for (int i = 0; i < m; i++) { graph[u[i]].push_back(v[i]); if (!(u[i] == v[i] || v[i] == u[i] + 1)) isChain = false; } if (isChain) { bool isOk = false; for (int i = n - 1; i >= 0; i--) { bool hasSelf = false; for (auto& x: graph[i]) if (x == i) hasSelf = true; //cout << "pos " << i << '\n'; if (hasSelf) { //cout << "has self\n"; if (a[i]) { //cout << "loop for hero " << r[i] << '\n'; if (r[i]) isOk = true; } else { //cout << "loop for bad " << r[i] << '\n'; if (!r[i]) isOk = false; } } ans[i] = isOk; } return ans; } return ans; }
#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...