Submission #1275306

#TimeUsernameProblemLanguageResultExecution timeMemory
1275306desmond1015Dreaming (IOI13_dreaming)C++20
Compilation error
0 ms0 KiB
#include "bits/stdc++.h" using namespace std; #define ll long long #include "dreaming.h" int MOD = 1e9+7; int INF = 1e9; void solve() { int n, m, l; cin >> n >> m >> l; vector<array<int, 2>> g[n]; for (int i = 0; i < m; i++) { int a, b, t; cin >> a >> b >> t; g[a].push_back({b, t}); g[b].push_back({a, t}); } vector<ll> mx(n), smx(n); vector<int> compId(n); vector<bool> vis(n); int cc = 0; function<void(int)> dfs1 = [&](int u) { vis[u] = true; compId[u] = cc; for (auto [v, t] : g[u]) { if (vis[v]) continue; dfs1(v); if (mx[v] + t > mx[u]) { smx[u] = mx[u]; mx[u] = mx[v] + t; } else if (mx[v] + t > smx[u]) { smx[u] = mx[v] + t; } } }; for (int i = 0; i < n; i++) { if (vis[i]) continue; dfs1(i); cc++; } function<void(int)> dfs2 = [&](int u) { vis[u] = true; for (auto [v, t] : g[u]) { if (vis[v]) continue; if (mx[v] + t == mx[u]) { if (smx[u] + t > mx[v]) { smx[v] = mx[v]; mx[v] = smx[u] + t; } else if (smx[u] + t > smx[v]) { smx[v] = smx[u] + t; } } else { if (mx[u] + t > mx[v]) { smx[v] = mx[v]; mx[v] = mx[u] + t; } else if (mx[u] + t > smx[v]) { smx[v] = mx[u] + t; } } dfs2(v); } }; vis.assign(n, false); for (int i = 0; i < n; i++) { if (vis[i]) continue; dfs2(i); } vector<ll> comp(cc, 1e17); for (int i = 0; i < n; i++) { int id = compId[i]; comp[id] = min(comp[id], mx[i]); } sort(comp.rbegin(), comp.rend()); assert(cc > 1); ll ans = comp[0] + comp[1] + l; cout << ans << '\n'; } int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); // freopen("input.txt", "r", stdin); // freopen("output.txt", "w", stdout); // freopen("input.in", "r", stdin); // freopen("output.out", "w", stdout); // int T = 1; // cin >> T; // while (T--) { solve(); // } return 0; }

Compilation message (stderr)

/usr/bin/ld: /tmp/ccAnKTDj.o: in function `main':
grader.c:(.text.startup+0x0): multiple definition of `main'; /tmp/ccIKXvhZ.o:dreaming.cpp:(.text.startup+0x0): first defined here
/usr/bin/ld: /tmp/ccAnKTDj.o: in function `main':
grader.c:(.text.startup+0xc5): undefined reference to `travelTime'
collect2: error: ld returned 1 exit status