제출 #60174

#제출 시각아이디문제언어결과실행 시간메모리
60174istlemin도시들 (IOI15_towns)C++14
0 / 100
37 ms604 KiB
#include "towns.h" #include<bits/stdc++.h> using namespace std; #define rep(i,a,b) for(int i = a; i<int(b);++i) #define all(v) v.begin(),v.end() #define sz(v) v.size() #define trav(a,c) for(auto a: c) typedef long long ll; typedef vector<ll> vi; typedef pair<ll,ll> pii; ll n; map<pii,ll> distMem; ll distance(ll a,ll b){ pii p = {min(a,b),max(a,b)}; if(distMem.find(p)!=distMem.end()) return distMem[p]; return distMem[p] = getDistance(a,b); } pii getFurthest(ll v){ ll furthest = 0; ll mx = 0; rep(i,0,n){ ll dist = distance(v,i); if(dist>mx){ mx = dist; furthest = i; } } return {furthest,mx}; } int hubDistance(int N, int sub) { n = N; ll diaA = getFurthest(0).first; pii tmp = getFurthest(diaA); ll diaB = tmp.first; ll diameter = tmp.second; map<ll,ll> pointsOnDiameter; rep(i,0,n){ if(i==diaA||i==diaB) continue; ll distA = distance(i,diaA); ll distB = distance(i,diaB); ll distFromDiameter = (distA+distB-diameter)/2; pointsOnDiameter[distA-distFromDiameter]++; } ll minR = 1e18; ll center = 0; trav(x,pointsOnDiameter){ ll currR = max(x.first,diameter-x.first); if(currR<minR){ center = x.first; minR = currR; } } return minR; //if(pointsOnDiameter[center]<=n/2) return }

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

towns.cpp: In function 'll distance(ll, ll)':
towns.cpp:22:40: warning: conversion to 'int' from 'll {aka long long int}' may alter its value [-Wconversion]
     return distMem[p] = getDistance(a,b);
                                        ^
towns.cpp:22:40: warning: conversion to 'int' from 'll {aka long long int}' may alter its value [-Wconversion]
towns.cpp: In function 'int hubDistance(int, int)':
towns.cpp:68:12: warning: conversion to 'int' from 'll {aka long long int}' may alter its value [-Wconversion]
     return minR;
            ^~~~
towns.cpp:59:8: warning: variable 'center' set but not used [-Wunused-but-set-variable]
     ll center = 0;
        ^~~~~~
towns.cpp:38:28: warning: unused parameter 'sub' [-Wunused-parameter]
 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...