Submission #53436

#TimeUsernameProblemLanguageResultExecution timeMemory
53436aintaToy Train (IOI17_train)C++17
0 / 100
2072 ms1424 KiB
#include "train.h" #include<cstdio> #include<algorithm> #include<vector> using namespace std; int n, m, D[5010], TD[5010], U[5010], chk[5010]; vector<int>E[5010]; vector<int> who_wins(vector<int> a, vector<int> r, vector<int> u, vector<int> v) { n = a.size(); m = u.size(); int i, j; for (i = 0; i < m; i++) { E[u[i]].push_back(v[i]); } for (i = 0; i < n; i++) { if (r[i] == 1)TD[i] = 1; else TD[i] = 0; D[i] = -1; } for (i = 0; i < 15000; i++) { for (j = 0; j < n; j++) { if (D[j] != TD[j]) chk[j] = 1, D[j]=TD[j]; else chk[j] = 0; if (a[j])TD[j] = 0; else TD[j] = 1e9; } for (j = 0; j < n; j++) { if (chk[j]) { for (auto &t : E[j]) { if (a[t] == 1) { TD[t] = max(TD[t], r[t] + D[j]); } else { TD[t] = min(TD[t], r[t] + D[j]); } } } } if (i == 9999)for (j = 0; j < n; j++)U[j] = TD[j]; } vector<int>res(n); for (j = 0; j < n; j++) { if (D[j] != U[j])res[j] = 1; else res[j] = 0; } return res; }
#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...