제출 #72445

#제출 시각아이디문제언어결과실행 시간메모리
72445evpipis도시들 (IOI15_towns)C++14
25 / 100
48 ms3780 KiB
//#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

컴파일 시 표준 에러 (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 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...