Submission #757161

#TimeUsernameProblemLanguageResultExecution timeMemory
757161alexander707070Toy Train (IOI17_train)C++14
5 / 100
7 ms3160 KiB
#include<bits/stdc++.h> #define MAXN 100007 using namespace std; int n,m,curr,res[MAXN]; bool good[MAXN],special[MAXN],pr[MAXN],nxt[MAXN]; vector<int> v[MAXN],ans; vector<int> who_wins(vector<int> A,vector<int> R, vector<int> from,vector<int> to){ n=int(A.size()); m=int(from.size()); for(int i=0;i<n;i++){ if(A[i]==1)good[i]=true; if(R[i]==1)special[i]=true; } for(int i=0;i<m;i++){ if(from[i]==to[i])pr[from[i]]=true; else nxt[from[i]]=true; } if(special[n-1])curr=1; else curr=0; for(int i=n-1;i>=0;i--){ if(pr[i]){ if(good[i] and special[i])curr=1; else if(!good[i] and !special[i])curr=0; } res[i]=curr; if(i>0 and !nxt[i-1]){ if(special[i-1])curr=1; else curr=0; } } for(int i=0;i<n;i++){ ans.push_back(res[i]); } 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...