Submission #72445

# Submission time Handle Problem Language Result Execution time Memory
72445 2018-08-26T08:12:33 Z evpipis Towns (IOI15_towns) C++14
25 / 100
48 ms 3780 KB
//#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

Compilation message

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 time Memory Grader output
1 Correct 33 ms 376 KB Output is correct
2 Correct 25 ms 1104 KB Output is correct
3 Correct 2 ms 1104 KB Output is correct
4 Correct 31 ms 1696 KB Output is correct
5 Correct 28 ms 2164 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 25 ms 2248 KB Output is correct
2 Correct 22 ms 2632 KB Output is correct
3 Correct 31 ms 3220 KB Output is correct
4 Correct 48 ms 3772 KB Output is correct
# Verdict Execution time Memory Grader output
1 Incorrect 33 ms 3780 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 29 ms 3780 KB Output isn't correct
# Verdict Execution time Memory Grader output
1 Incorrect 20 ms 3780 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 21 ms 3780 KB Output isn't correct
2 Halted 0 ms 0 KB -