제출 #432102

#제출 시각아이디문제언어결과실행 시간메모리
432102arayiTowns (IOI15_towns)C++17
25 / 100
28 ms404 KiB
#include "towns.h"
#include <bits/stdc++.h>
using namespace std;

const int N = 150;

int n;
int d[N][N];
int hubDistance(int N, int sub) 
{
	for (int i = 0; i < n; i++)
		for (int j = 0; j < n; j++) d[i][j] = 0;
	n = N;
	int a = 0;
	for (int i = 1; i < n; i++)
	{
		d[0][i] = d[i][0] = getDistance(0, i);
		if(d[0][i] > d[0][a]) a = i;
	}
	int b = 0;
	for (int i = 1; i < n; i++)
	{
		if(a == i) continue;
		d[a][i] = d[i][a] = getDistance(a, i);
		if(d[a][i] > d[a][b]) b = i;
	}
	int pat = d[a][b];
	int sm = (d[a][0] + d[0][b] - d[a][b]) / 2;
	sm = d[a][0] - sm;
	int i1 = 0;
	//cout << sm << endl;
	for (int i = 0; i < n; i++)
	{
		if(i == a || i == b) continue;
		if(b == 0 || i == 0)
		{
			int c = (d[a][i]+d[i][b] - d[a][b]) / 2;
			pat = min(pat, max(d[a][i], d[i][b]) - c);
		}
		else
		{
			int l = (d[a][i1] + d[i1][i] - d[a][i]) / 2;
			l = d[a][i1] - l;
			if(sm > l) pat = min(pat, max(l, d[a][b] - l));
			else if(sm == l)
			{
				d[b][i] = d[i][b] = getDistance(b, i);
				int c = (d[a][i] + d[a][b] - d[b][i]) / 2;
				pat = min(pat, max(c, d[a][b] - c));
			}
		}
	}
	return pat;
}

컴파일 시 표준 에러 (stderr) 메시지

towns.cpp: In function 'int hubDistance(int, int)':
towns.cpp:9:21: warning: declaration of 'N' shadows a global declaration [-Wshadow]
    9 | int hubDistance(int N, int sub)
      |                 ~~~~^
towns.cpp:5:11: note: shadowed declaration is here
    5 | const int N = 150;
      |           ^
towns.cpp:9:28: warning: unused parameter 'sub' [-Wunused-parameter]
    9 | int hubDistance(int N, int sub)
      |                        ~~~~^~~
#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...