Submission #1014085

#TimeUsernameProblemLanguageResultExecution timeMemory
1014085ZanPDreaming (IOI13_dreaming)C++14
Compilation error
0 ms0 KiB
#include <iostream> #include <vector> #include <algorithm> #include <cstring> using namespace std; const int mxN = 1e6; const int INF = 1e9; int n, m, l; int travelTime(int N,int M,int L,int A[],int B[],int T[]); vector<pair<int, int>> pov[mxN]; int td[mxN]; bool vis[mxN]; int maxd = 0, cnt = 0; pair<int, int> dfs(int u, int par) { pair<int, int> ans = { 0,u }; vis[u] = true; for (auto p : pov[u]) { int v = p.first; int c = p.second; if (v != par) { pair<int, int> q = dfs(v, u); q.first += c; ans = max(ans, q); } } return ans; } int opt = INF; int opt_dfs(int u, int tar, int d, int par) { if (u == tar) { opt = d; return d; } int ans = INF; for (auto p : pov[u]) { int v = p.first; int c = p.second; if (v != par) { int dis = opt_dfs(v, tar, d, u) - c; ans = min(ans, dis); } } opt = min(max(ans,d-ans), opt); return ans; } int travelTime(int N, int M, int L, int A[], int B[], int T[]) { int n = N; int m = M; int l = L; for (int i = 0; i < m; i++) { int a = A[i], b = B[i], c = T[i]; pov[a].push_back({ b,c }); pov[b].push_back({ a,c }); } memset(vis, 0, n); for (int i = 0; i < n; i++) { if (!vis[i] && pov[i].size() <= 1) { pair<int, int> p = dfs(i, -1); pair<int, int> q = dfs(p.second, -1); maxd = q.first; opt = INF; opt_dfs(p.second, q.second, q.first, -1); td[cnt] = -opt; cnt++; } } if (cnt == 1) { return maxd; } sort(td, td + cnt); int ans = l - td[0] - td[1]; if (cnt > 2) { ans = max(ans, 2 * l - td[1] - td[2]); } return ans; }

Compilation message (stderr)

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