# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
425707 | 2021-06-13T10:23:13 Z | MOUF_MAHMALAT | Toy Train (IOI17_train) | C++14 | 0 ms | 0 KB |
#include "train.h" #include<bits/stdc++.h> using namespace std; typedef int ll; vector<vector<ll> >v; ll n; bool b[5009],c[5009]; vector<int> who_wins(vector<int> A, vector<int> R, vector<int> from, vector<int> to) { n=A.size(); v.resize(n); for(ll i=0; i<to.size(); i++) v[from[i]].push_back(to[i]); for(ll i=0; i<n; i++) b[i]=A[i],c[i]=R[i]; vector<ll>ans; for(ll i=n-1; i>=0; i--) { bool is=0; for(auto z:v[i]) if(z==i) is=1; if((is&&c[i]&&b[i])||(is&&c[i]&&v[i].size()==1)) ans.push_back(1); else ans.push_back(ans.back()); } reverse(all(ans)); return ans; }