Submission #1000127

#TimeUsernameProblemLanguageResultExecution timeMemory
1000127Lcc735Toy Train (IOI17_train)C++17
0 / 100
20 ms1904 KiB
#include "train.h" #include<bits/stdc++.h> using namespace std; vector<int> who_wins(vector<int> a, vector<int> r, vector<int> u, vector<int> v) { int n=size(a); int m=size(u); vector<int> ans(n); vector <set<int>> st(n); set<int> ch; for(int i=0;i<n;i++){ if(r[i]==1){ ch.insert(i); } } for(int i=0;i<m;i++){ if(u[i]==n-1){ if(v[i]==0){ st[u[i]].insert(n); } } else{ st[u[i]].insert(v[i]); } } vector<int> est(n); for (int i=0;i<n;i++){ if(a[i]==0){ if((st[i].count(i)==1)&&(ch.count(i)==0)){ est[i]=0; } else if((st[i].count(i+1)==0)&&(ch.count(i)==1)){ est[i]=1; } else{ est[i]=2; } } else{ if((st[i].count(i+1)==0)&&(ch.count(i)==0)){ est[i]=0; } else if((st[i].count(i)==1)&&(ch.count(i)==1)){ est[i]=1; } else{ est[i]=2; } } } int rep=0; if(count(est.begin(),est.end(),2)==n){ rep=1; } for (int i=0;i<n;i++){ if(rep==0){ if(est[i]==0){ ans[i]=0; } else if(est[i]==1){ ans[i]=1; } else{ for(int j=i;j<n;j++){ if(est[j]==0){ ans[i]=0; est[i]=0; } else if(est[j]==1){ ans[i]=1; est[i]=1; } } for(int j=0;j<i;j++){ if(est[j]==0){ ans[i]=0; est[i]=0; } else if(est[j]==1){ ans[i]=1; est[i]=1; } } } } else{ ans[i]=1; } } 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...