Submission #1063873

#TimeUsernameProblemLanguageResultExecution timeMemory
1063873Mr_HusanboyRail (IOI14_rail)C++17
30 / 100
66 ms98384 KiB
#include "rail.h" #include <bits/stdc++.h> using namespace std; const int maxn = 5e3; const int inf = 1e9; int memo[maxn][maxn]; int get(int i, int j){ if(i == j) return 0; if(memo[i][j] != -1){ return memo[i][j]; } return memo[i][j] = getDistance(i, j); } void findLocation(int n, int first, int location[], int stype[]) { for(int i = 0; i < n; i ++){ location[i] = -1; for(int j = 0; j < n; j ++){ memo[i][j] = -1; } } location[0] = first; stype[0] = 1; if(n == 1){ return; } int cl = inf + 1, ind = 0; for(int j = 1; j < n; j ++){ if(cl > get(0, j)){ cl = get(0, j); ind = j; } } for(int j = 1; j < n; j ++){ if(ind == j){ location[j] = first + cl; stype[j] = 2; }else if(get(0, j) == cl + get(ind, j)){ location[j] = first + cl - get(ind, j); stype[j] = 1; }else{ location[j] = first + get(0, j); stype[j] = 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...