This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#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 time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |