Submission #690893

#TimeUsernameProblemLanguageResultExecution timeMemory
690893KhizriRail (IOI14_rail)C++17
30 / 100
67 ms504 KiB
#include "rail.h" #include <bits/stdc++.h> using namespace std; const int mxn=5000+5; int dp[mxn][mxn],color[mxn]; int ask(int i,int j){ if(i==j) return 0; if(dp[i][j]) return dp[i][j]; return dp[i][j]=getDistance(i,j); } void findLocation(int n, int first, int location[], int stype[]) { int mx=1e5,idx=0; for(int i=1;i<n;i++){ if(ask(0,i)<mx){ mx=ask(0,i); idx=i; } } location[idx]=first+mx; location[0]=first; stype[idx]=2; stype[0]=1; color[0]=1; color[idx]=1; for(int i=1;i<n;i++){ if(color[i]) continue; int say=ask(0,i); if(ask(0,i)==ask(0,idx)+ask(idx,i)){ location[i]=location[idx]-ask(idx,i); stype[i]=1; } else{ location[i]=first+say; stype[i]=2; } } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...