Submission #835456

# Submission time Handle Problem Language Result Execution time Memory
835456 2023-08-23T14:42:55 Z Valaki2 Towns (IOI15_towns) C++14
25 / 100
13 ms 980 KB
#include "towns.h"
#include <bits/stdc++.h>
using namespace std;

const int inf = 1e6 + 42;

int n;
vector<vector<int> > storedist;

int dist(int a, int b) {
	if(storedist[a][b] != -1) {
		return storedist[a][b];
	}
	return storedist[a][b] = storedist[b][a] = getDistance(a - 1, b - 1);
}

void reset() {
	storedist.clear();
	storedist.assign(1 + n, vector<int> (1 + n, -1));
	for(int i = 1; i <= n; i++) {
		storedist[i][i] = 0;
	}
}

int hubDistance(int N, int sub) {
	n = N;
	reset();
	int ans = inf;
	int X = 1;
	for(int i = 2; i <= n; i++) {
		if(dist(1, i) > dist(1, X)) {
			X = i;
		}
	}
	int Y = X;
	for(int i = 1; i <= n; i++) {
		if(dist(X, i) > dist(X, Y)) {
			Y = i;
		}
	}
	int diam = dist(X, Y);
	for(int i = 1; i <= n; i++) {
		int a = dist(i, X);
		int b = dist(i, Y);
		int from = (a + b - diam) / 2;
		ans = min(ans, max(a - from, b - from));
	}
	return ans;
}

Compilation message

towns.cpp: In function 'int hubDistance(int, int)':
towns.cpp:25:28: warning: unused parameter 'sub' [-Wunused-parameter]
   25 | int hubDistance(int N, int sub) {
      |                        ~~~~^~~
# Verdict Execution time Memory Grader output
1 Correct 11 ms 980 KB Output is correct
2 Correct 9 ms 772 KB Output is correct
3 Correct 1 ms 304 KB Output is correct
4 Correct 13 ms 892 KB Output is correct
5 Correct 12 ms 820 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 10 ms 340 KB Output is correct
2 Correct 9 ms 852 KB Output is correct
3 Correct 12 ms 888 KB Output is correct
4 Correct 12 ms 852 KB Output is correct
# Verdict Execution time Memory Grader output
1 Incorrect 10 ms 852 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 11 ms 396 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 9 ms 448 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 9 ms 824 KB Output isn't correct
2 Halted 0 ms 0 KB -