Submission #1179493

#TimeUsernameProblemLanguageResultExecution timeMemory
1179493azhirayaDreaming (IOI13_dreaming)C++20
Compilation error
0 ms0 KiB
#include <bits/stdc++.h> using namespace std; //#define endl "\n" #define fer(i, a, b) for(int i = (a); i <= (b); i ++) #define LL long long const int Maxn = 1e5 + 10; int n, m, k; struct edge { int x, v; }; vector <edge> lbj[Maxn]; int f[Maxn]; int fa[Maxn]; int idx; LL mxd; LL d[Maxn]; LL ans; void dfs(int opt, int x) { f[x] = opt; if(d[x] >= mxd) { mxd = d[x]; idx = x; } for(auto const &[to, v] : lbj[x]) { if(f[to] >= opt) continue; fa[to] = x; d[to] = d[x] + v; dfs(opt, to); } } int travelTime(int N, int M, int L, int A[], int B[], int T[]) { ios::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr); n = N; m = M; k = L; int x, y, v; fer(i, 1, m) { x = A[i - 1]; y = B[i - 1]; v = T[i - 1]; x ++; y ++; lbj[x].push_back({y, v}); lbj[y].push_back({x, v}); } vector <LL> g; fer(i, 1, n) { if(f[i] == 2) continue; fa[i] = 0; d[i] = 0; mxd = 0; dfs(1, i); x = idx; fa[x] = 0; d[x] = 0; mxd = 0; dfs(2, x); y = idx; ans = max(ans, mxd); LL mn = LONG_LONG_MAX; for(; y; y = fa[y]) { mn = min(mn, max(d[y], mxd - d[y])); } g.push_back(mn); } sort(g.begin(), g.end(), greater <LL>()); if(g.size() >= 3) return max(ans, max(g[0] + g[1] + k, g[1] + g[2] + k + k)); else if(g.size() >= 2) return max(ans, g[0] + g[1] + k); else if(g.size() >= 1) return max(ans, g[0]); return 0; }

Compilation message (stderr)

/usr/bin/ld: /tmp/ccFMaLOn.o: in function `main':
grader.c:(.text.startup+0xc4): undefined reference to `travelTime'
collect2: error: ld returned 1 exit status