제출 #432029

#제출 시각아이디문제언어결과실행 시간메모리
432029arayi도시들 (IOI15_towns)C++17
0 / 100
17 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; sm = c; i1 = i; 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...