Submission #172455

#TimeUsernameProblemLanguageResultExecution timeMemory
172455cgiosy경주 (Race) (IOI11_race)C++17
Compilation error
0 ms0 KiB
#include <bits/stdc++.h> #define rep(i,x,n) for(int i=x; i<n; i++) using namespace std; constexpr int INF=1e9; int main() { ios_base::sync_with_stdio(false);cin.tie(nullptr); int N, K, m=INF; cin>>N>>K; vector<bool> V(N); vector<int> C(N, 1), D(K+1, INF), X; vector<pair<int, int>> Y; vector<vector<pair<int, int>>> G(N); rep(i, 1, N) { int x, y, z; cin>>x>>y>>z; G[x].push_back({y, z}); G[y].push_back({x, z}); } #define ITER(i) for(auto[j,w]:G[i]) if(j!=p && !V[j]) function<void(int, int)> cnt=[&](int i, int p) { ITER(i) cnt(j, i), C[i]+=C[j]; }; function<int(int, int, int)> cent=[&](int i, int p, int n) { ITER(i) if(C[j]>n/2) { C[j]+=C[i]-=C[j]; return cent(j, i, n); } return i; }; function<void(int, int, int, int)> f=[&](int i, int p, int d, int k) { X.push_back(d); m=min(m, k+D[K-d]); ITER(i) if(d+w<=K && k+1<m) { f(j, i, d+w, k+1); if(i==p) { for(auto[x,y]:Y) D[x]=min(D[x], y); Y.clear(); } } Y.push_back({d, k}); }; function<void(int, int)> cd=[&](int i, int p) { V[i=cent(i, p, C[i])]=true, D[0]=0; f(i, i, 0, 0); for(int x:X) D[x]=INF; X.clear(); ITER(i) cd(j, i); }; cnt(0, 0); cd(0, 0); cout<<(m==INF?-1:m); }

Compilation message (stderr)

race.cpp: In lambda function:
race.cpp:20:30: warning: unused variable 'w' [-Wunused-variable]
  #define ITER(i) for(auto[j,w]:G[i]) if(j!=p && !V[j])
                              ^
race.cpp:22:3: note: in expansion of macro 'ITER'
   ITER(i) cnt(j, i), C[i]+=C[j];
   ^~~~
race.cpp: In lambda function:
race.cpp:20:30: warning: unused variable 'w' [-Wunused-variable]
  #define ITER(i) for(auto[j,w]:G[i]) if(j!=p && !V[j])
                              ^
race.cpp:25:3: note: in expansion of macro 'ITER'
   ITER(i) if(C[j]>n/2) {
   ^~~~
race.cpp: In lambda function:
race.cpp:20:30: warning: unused variable 'w' [-Wunused-variable]
  #define ITER(i) for(auto[j,w]:G[i]) if(j!=p && !V[j])
                              ^
race.cpp:48:3: note: in expansion of macro 'ITER'
   ITER(i) cd(j, i);
   ^~~~
/tmp/ccBmbyr6.o: In function `main':
race.cpp:(.text.startup+0x0): multiple definition of `main'
/tmp/cc5GPxYx.o:grader.cpp:(.text.startup+0x0): first defined here
/tmp/cc5GPxYx.o: In function `main':
grader.cpp:(.text.startup+0x20): undefined reference to `best_path(int, int, int (*) [2], int*)'
collect2: error: ld returned 1 exit status