Submission #64724

# Submission time Handle Problem Language Result Execution time Memory
64724 2018-08-05T13:12:11 Z FLDutchman Towns (IOI15_towns) C++14
25 / 100
42 ms 7020 KB
#include "towns.h"
#include <bits/stdc++.h>
using namespace std;

typedef int INT;

#define int long long
#define FOR(i, l, r) for(int i = (l); i < (r); i++)
#define pb push_back
#define fst first
#define snd second
#define LSB(k) k&-k

typedef vector<int> vi;
typedef pair<int, int> ii;
typedef vector<ii> vii;

const int mod = 1e9+7;
int D;


INT hubDistance(INT N, INT sub) {
	ii far = {-1, -1};
	FOR(i, 1, N) far = max({getDistance(0, i), i}, far);
	vi d1, d2;
	int I = far.snd;
	far = {-1, -1};
	FOR(i, 0, N) {
		if(i == I) d1.pb(0);
		else d1.pb(getDistance(I, i)), far = max(far, {d1.back(), i});
	}
	int J = far.snd;
	D = far.fst;
	FOR(i, 0, N){
		if(i == J) d2.pb(0);
		else d2.pb(getDistance(J, i));
	}
	int R = 1e9;
	FOR(i, 0, N){
		int d = (d1[i] + d2[i] - D)/2;
		R = min(R, max(d1[i]-d, d2[i]-d));
	}
	return R;
}

Compilation message

towns.cpp: In function 'INT hubDistance(INT, INT)':
towns.cpp:24:42: warning: conversion to 'int' from 'long long int' may alter its value [-Wconversion]
  FOR(i, 1, N) far = max({getDistance(0, i), i}, far);
                                          ^
towns.cpp:30:30: warning: conversion to 'int' from 'long long int' may alter its value [-Wconversion]
   else d1.pb(getDistance(I, i)), far = max(far, {d1.back(), i});
                              ^
towns.cpp:30:30: warning: conversion to 'int' from 'long long int' may alter its value [-Wconversion]
towns.cpp:36:30: warning: conversion to 'int' from 'long long int' may alter its value [-Wconversion]
   else d2.pb(getDistance(J, i));
                              ^
towns.cpp:36:30: warning: conversion to 'int' from 'long long int' may alter its value [-Wconversion]
towns.cpp:43:9: warning: conversion to 'INT {aka int}' from 'long long int' may alter its value [-Wconversion]
  return R;
         ^
towns.cpp:22:28: warning: unused parameter 'sub' [-Wunused-parameter]
 INT hubDistance(INT N, INT sub) {
                            ^~~
# Verdict Execution time Memory Grader output
1 Correct 33 ms 1016 KB Output is correct
2 Correct 18 ms 1596 KB Output is correct
3 Correct 4 ms 1596 KB Output is correct
4 Correct 22 ms 2072 KB Output is correct
5 Correct 42 ms 2668 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 30 ms 3212 KB Output is correct
2 Correct 20 ms 3796 KB Output is correct
3 Correct 24 ms 4332 KB Output is correct
4 Correct 26 ms 4868 KB Output is correct
# Verdict Execution time Memory Grader output
1 Incorrect 17 ms 5340 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 25 ms 6308 KB Output isn't correct
# Verdict Execution time Memory Grader output
1 Incorrect 22 ms 6664 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 33 ms 7020 KB Output isn't correct
2 Halted 0 ms 0 KB -