# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1122155 | SalihSahin | 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 <bits/stdc++.h>
#define pb push_back
using namespace std;
#include "towns.h"
int hubDistance(int N, int sub) {
int d1 = 0, dis = 0;
for(int i = 1; i < N; i++){
int x = getDistance(0, i);
if(x > dis){
d1 = i;
dis = x;
}
}
int d2 = 0, dis = 0;
for(int i = 0; i < N; i++){
int x = getDistance(d1, i);
if(x > dis){
d2 = i;
dis = x;
}
}
int diameter = dis;
int other = 0;
while(other == d1 || other == d2) other++;
int c1 = getDistance(d1, other), c2 = getDistance(d2, other);
int othertoroot = ((c1 + c2) - diameter)/2;
int R = max(c1 - othertoroot, c2 - othertoroot);
return R;
}