Submission #1163209

#TimeUsernameProblemLanguageResultExecution timeMemory
1163209DangKhoizzzz경주 (Race) (IOI11_race)C++20
Compilation error
0 ms0 KiB
#include <bits/stdc++.h> #define int long long #define pii pair <int , int> #define fi first #define se second using namespace std; const int INF = 1e9; const int maxn = 1e6 + 7; int n , k , depth[maxn] , h[maxn] , ans = INF; vector <pii> g[maxn]; void dfs_build(int u , int p) { for(pii e: g[u]) { int v = e.fi , w = e.se; if(v == p) continue; depth[v] = depth[u] + w; h[v] = h[u] + 1; dfs_build(v , u); } } void merging(map <int , int> &a , map <int , int> &b , int reqh , int reqdepth) { if(a.size() < b.size()) swap(a , b); for(pii tmp: b) { int v1 = tmp.fi; int v2 = tmp.se; if(a.count(k - v1 + 2*reqdepth)) { ans = min(ans , a[k - v1 + 2*reqdepth] + v2 - 2*reqh); } if(a.count(v1)) a[v1] = min(a[v1] , v2); else a[v1] = v2; } if(a.count(k + reqdepth)) { ans = min(ans , a[k + reqdepth] - reqh); } } map <int , int> dfs(int u , int p) { map <int , int> res; res[depth[u]] = h[u]; for(pii tmp: g[u]) { int v = tmp.fi; if(v == p) continue; map <int , int> con = dfs(v , u); merging(res , con , h[u] , depth[u]); } return res; } int best_path(int N, int K, int H[][2], int L[]) { n = N; k = K; for(int i = 0; i < n-1; i++) { int u = H[i][0] , v = H[i][1] , w = L[i]; u++ , v++; g[u].push_back({v , w}); g[v].push_back({u , w}); } dfs_build(1 , 1); dfs(1 , 1); if(ans == INF) return -1; return ans; } // void solve() // { // cin >> n >> k; // for(int i = 1; i < n; i++) // { // int u , v , w; // cin >> u >> v >> w; // u++ , v++; // g[u].push_back({v , w}); // g[v].push_back({u , w}); // } // dfs_build(1 , 1); // dfs(1 , 1); // cout << ans << '\n'; // } // // testing signed main() { //solve(); return 0; }

Compilation message (stderr)

/usr/bin/ld: /tmp/cclUi8KD.o: in function `main':
grader.cpp:(.text.startup+0x0): multiple definition of `main'; /tmp/ccOYbVVZ.o:race.cpp:(.text.startup+0x0): first defined here
/usr/bin/ld: /tmp/cclUi8KD.o: in function `main':
grader.cpp:(.text.startup+0x28): undefined reference to `best_path(int, int, int (*) [2], int*)'
collect2: error: ld returned 1 exit status