This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
//#define TEST
#ifdef TEST
#include <assert.h>
#include "graderlib.c"
#endif // TEST
#ifndef TEST
#include "towns.h"
#endif
#include <bits/stdc++.h>
using namespace std;
const int len = 115;
int dis[2][len];
int hubDistance(int n, int sub){
int mx = 0, u, v;
for (int i = 0; i < n; i++){
if (i == 0) continue;
int temp = getDistance(0, i);
if (temp > mx)
mx = temp, u = i;
}
mx = 0;
for (int i = 0; i < n; i++){
dis[0][i] = getDistance(u, i);
if (dis[0][i] > mx)
mx = dis[0][i], v = i;
}
for (int i = 0; i < n; i++)
dis[1][i] = getDistance(v, i);
int ans = dis[0][v];
for (int i = 0; i < n; i++){
int a = dis[0][i], b = dis[1][i], d = dis[0][v], c = (a+b-d)/2;
ans = min(ans, max(a-c, b-c));
}
return ans;
}
#ifdef TEST
int main() {
FILE *f;
f = freopen("towns.in","r",stdin);
assert(f != NULL);
//f = freopen("towns.out","w",stdout);
//assert(f != NULL);
int ncase, R, N;
int subtask;
int ret;
ret = scanf("%d%d",&subtask,&ncase);
assert(ret == 2);
for (int i = 0; i < ncase; i++) {
ret = scanf("%d",&N);
assert(ret == 1);
_ini_query(N,subtask);
R=hubDistance(N,subtask);
printf("%d\n",R);
}
return 0;
}
#endif // TEST
Compilation message (stderr)
towns.cpp: In function 'int hubDistance(int, int)':
towns.cpp:16:28: warning: unused parameter 'sub' [-Wunused-parameter]
int hubDistance(int n, int sub){
^~~
towns.cpp:35:23: warning: 'v' may be used uninitialized in this function [-Wmaybe-uninitialized]
int ans = dis[0][v];
~~~~~~~~^
towns.cpp:28:32: warning: 'u' may be used uninitialized in this function [-Wmaybe-uninitialized]
dis[0][i] = getDistance(u, i);
~~~~~~~~~~~^~~~~~
# | 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... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |