Submission #1302267

#TimeUsernameProblemLanguageResultExecution timeMemory
1302267nicolo_010도시들 (IOI15_towns)C++20
13 / 100
10 ms1860 KiB
#include <bits/stdc++.h>
#include "towns.h"
using namespace std;
using ll = long long;
using pii = pair<int, int>;
const int MOD = 1e9+7;

int hubDistance(int n, int s) {
	vector<vector<int>> grid(n, vector<int>(n, 0));
	for (int i=0; i<n; i++) {
		for (int j=i+1; j<n; j++) {
			int dis = getDistance(i, j);
			grid[i][j] = dis;
			grid[j][i] = dis;
		}
	}
	int l=0, r=0;
	for (int i=0; i<n; i++) {
		for (int j=i+1; j<n; j++) {
			if (grid[i][j] > grid[l][r]) {
				l=i, r=j;
			}
		}
	}
	int R = 1e9+1;
	for (int i=0; i<n; i++) {
		if (i==l || i==r) continue;
		int lca = grid[i][l]+grid[i][r]-grid[l][r];
		lca /= 2;
		int disl = grid[i][l]-lca;
		int disr = grid[i][r]-lca;
		R = min(R, max(disl, disr));
	}
	return R;
}
#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...