Submission #1322609

#TimeUsernameProblemLanguageResultExecution timeMemory
1322609JuanJLToy Train (IOI17_train)C++20
5 / 100
3 ms824 KiB
#include "train.h" #include <bits/stdc++.h> #define fst first #define snd second #define pb push_back #define SZ(x) (int)x.size() #define ALL(x) x.begin(),x.end() #define forn(i,a,b) for(int i = a; i<b;i++) #define mset(a,v) memset(a,v,sizeof(a)) using namespace std; typedef long long ll; const int MAXN = 5000+5; ll adj[MAXN]; bool cicle[MAXN]; std::vector<int> who_wins(std::vector<int> a, std::vector<int> r, std::vector<int> u, std::vector<int> v) { mset(adj,-1); forn(i,0,SZ(u)){ if(u[i]==v[i]){ cicle[u[i]]=true; continue; } adj[u[i]]=(v[i]); } vector<int> res(SZ(r),0); for(int i = SZ(r)-1; i>=0; i--){ if(a[i]==1){ if(r[i] && cicle[i]) res[i]=1; else{ res[i]=0; if(adj[i]!=-1) res[i]=res[adj[i]]; } }else{ if(!r[i] && cicle[i]) res[i]=0; else{ res[i]=1; if(adj[i]!=-1) res[i]=res[adj[i]]; } } } 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...