Submission #1260354

#TimeUsernameProblemLanguageResultExecution timeMemory
1260354repmannDreaming (IOI13_dreaming)C++20
Compilation error
0 ms0 KiB
#include <bits/stdc++.h> using namespace std; int N, M, L; int DP[2][100001]; vector <pair <int, int>> VG[100001]; inline pair <int, int> DFS(int node, int parent = 0) { pair <int, int> ret = {DP[0][node], node}; for(pair <int, int> p : VG[node]) { if(p.second == parent) continue; DP[0][p.second] = DP[0][node] + p.first; ret = max(DFS(p.second, node), ret); } return ret; } inline int MDFS(int node, int parent = 0) { int ret = max(DP[0][node], DP[1][node]); for(pair <int, int> p : VG[node]) if(p.second != parent) ret = min(MDFS(p.second, node), ret); return ret; } inline pair <int, int> Diameter(int node) { int u = DFS(node).second; DP[0][u] = 0; int v = DFS(u).second; swap(DP[0], DP[1]); int diameter = DFS(v).first; int minimum = MDFS(v); return {diameter, minimum}; } int travelTime(int n, int m, int l, int u[], int v[], int w[]) { N = n; M = m; L = l; for(int i = 0; i < M; i++) { u[i]++; v[i]++; VG[u[i]].push_back({w[i], v[i]}); VG[v[i]].push_back({w[i], u[i]}); } int diameter = 0, maximum[3]; maximum[0] = maximum[1] = maximum[2] = 0; for(int i = 1; i <= N; i++) { if(DP[0][i] || DP[1][i]) continue; // cout << i << ":\n"; pair <int, int> temp = Diameter(i); // cout << temp.first << ' ' << temp.second << '\n'; diameter = max(temp.first, diameter); for(int j = 0; j < 3; j++) { if(temp.second > maximum[j]) { for(int k = 2; k > j; k--) maximum[k] = maximum[k - 1]; maximum[j] = temp.second; break; } } } // cout << "maximum:\n"; // for(int j = 0; j < 3; j++) cout << maximum[j] << " \n"[j == 2]; if(M == (N - 1)) return diameter; if(M == (N - 2)) return max(diameter, maximum[0] + maximum[1] + L); return max({diameter, maximum[0] + maximum[1] + L, maximum[1] + maximum[2] + L + L}); } //int main() //{ // int n, m, l, u[100], v[100], w[100]; // cin >> n >> m >> l; // for(int i = 0; i < m; i++) cin >> u[i] >> v[i] >> w[i]; // cout << travelTime(n, m, l, u, v, w) << '\n'; // // return 0; //}

Compilation message (stderr)

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