제출 #310415

#제출 시각아이디문제언어결과실행 시간메모리
310415aZvezda도시들 (IOI15_towns)C++14
컴파일 에러
0 ms0 KiB
#include <bits/stdc++.h>
using namespace std;
//#pragma GCC optimize ("O3")
//#pragma GCC target ("sse4")
#define endl "\n"
typedef long long ll;
template<class T, class T2> inline ostream &operator <<(ostream &out, const pair<T, T2> &x) { out << x.first << " " << x.second; return out;}
template<class T, class T2> inline istream &operator >>(istream &in, pair<T, T2> &x) { in >> x.first >> x.second; return in;}
template<class T, class T2> inline bool chkmax(T &x, const T2 &y) { return x < y ? x = y, 1 : 0; }
template<class T, class T2> inline bool chkmin(T &x, const T2 &y) { return x > y ? x = y, 1 : 0; }
const ll mod = 1e9 + 7;
#define out(x) "{" << (#x) << ": " << x << "} "

const int MAX_N = 115;
int dist0[MAX_N], dist1[MAX_N];
map<int, vector<int> > comp;
int cost[MAX_N];

int hubDistance(int N, int sub) {
    int first = 0;
    for(int i = 1; i < N; i ++) {
        dist0[i] = getDistance(0, i);
        if(dist0[i] > dist0[first]) {
            first = i;
        }
    }
    int R = mod;
    int second = 0;
    for(int i = 0; i < N; i ++) {
        dist1[i] = getDistance(first, i);
        if(dist1[i] > dist1[second]) {
            second = i;
        }
    }
    vector<int> hubs;
    for(int i = 0; i < N; i ++) {
        int now = dist0[i] + dist1[i] - dist1[0]; now /= 2; now = dist1[i] - now;
        cost[i] = now;
        comp[now].push_back(i);
        chkmin(R, max({now, dist1[second] - now}));
    }
    int toLft = 0, toRght = N;
    bool centroid = false;
    for(auto it : comp) {
        auto arr = it.second;
        toRght -= arr.size();
        if(max(cost[it.first], dist1[second] - cost[it.first]) == R && toLft <= N / 2 && toRght <= N / 2) {

        }
        toLft += arr.size();
    }
    if(!centroid) {
        return -R;
    } else {
        return R;
    }
}

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

towns.cpp: In function 'int hubDistance(int, int)':
towns.cpp:22:20: error: 'getDistance' was not declared in this scope; did you mean 'hubDistance'?
   22 |         dist0[i] = getDistance(0, i);
      |                    ^~~~~~~~~~~
      |                    hubDistance
towns.cpp:30:20: error: 'getDistance' was not declared in this scope; did you mean 'hubDistance'?
   30 |         dist1[i] = getDistance(first, i);
      |                    ^~~~~~~~~~~
      |                    hubDistance
towns.cpp:46:28: warning: conversion from 'std::vector<int>::size_type' {aka 'long unsigned int'} to 'int' may change value [-Wconversion]
   46 |         toRght -= arr.size();
      |                            ^
towns.cpp:50:27: warning: conversion from 'std::vector<int>::size_type' {aka 'long unsigned int'} to 'int' may change value [-Wconversion]
   50 |         toLft += arr.size();
      |                           ^
towns.cpp:19:28: warning: unused parameter 'sub' [-Wunused-parameter]
   19 | int hubDistance(int N, int sub) {
      |                        ~~~~^~~