Submission #1147150

#TimeUsernameProblemLanguageResultExecution timeMemory
1147150alexddTowns (IOI15_towns)C++20
25 / 100
10 ms328 KiB
#include "towns.h" #include <bits/stdc++.h> using namespace std; const int INF = 1e9; int n; vector<int> calc_dist(int src) { vector<int> dist(n); for(int i=0;i<n;i++) dist[i] = getDistance(src,i); return dist; } int hubDistance(int N, int sub) { //int _ = getDistance(0,1); n = N; vector<int> dist0 = calc_dist(0); int cap1=0; for(int i=0;i<n;i++) if(dist0[i]>dist0[cap1]) cap1=i; vector<int> dist1 = calc_dist(cap1); int cap2=0; for(int i=0;i<n;i++) if(dist1[i]>dist1[cap2]) cap2=i; vector<int> dist2 = calc_dist(cap2); int mnm = dist1[cap2]; for(int i=0;i<n;i++) { int injos = dist1[i] + dist2[i] - dist1[cap2]; assert(injos%2==0); injos/=2; mnm = min(mnm, max(dist1[i], dist2[i]) - injos); } return mnm; }
#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...