# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
207272 | AQT | Towns (IOI15_towns) | C++14 | 0 ms | 0 KiB |
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 <towns.h>
#include <bits/stdc++.h>
using namespace std;
int dist[200][200];
int centDistance(int i, int j, int k){
return (dist[i][j] + dist[i][k] - dist[j][k])/2;
}
int hubDistance(int N, int sub){
int d1 = 0, d2 = 0;
for(int i = 1; i<N; i++){
dist[0][i] = getDistance(0, i);
if(dist[0][i] > dist[0][d1]){
d1 = i;
}
}
for(int i = 0; i<N; i++){
dist[d1][i] = getDistance(d1, i);
if(dist[d1][i] > dist[d1][d2]){
d2 = i;
}
}
int dia = dist[d1][d2];
int ans = 0;
for(int i = 0; i<N; i++){
int k = centDistance(i, 0, d1);
if(abs(ans-dia/2) > abs(k-dia/2)){
ans = k;
}
}
return ret;
}