Submission #1275308

#TimeUsernameProblemLanguageResultExecution timeMemory
1275308desmond1015꿈 (IOI13_dreaming)C++20
Compilation error
0 ms0 KiB
#include "bits/stdc++.h" #include "dreaming.h" using namespace std; #define ll long long int MOD = 1e9+7; int INF = 1e9; ll travelTime(int n, int m, int l, int A[], int B[], int T[]) { vector<array<int, 2>> g[n]; for (int i = 0; i < m; i++) { g[A[i]].push_back({B[i], T[i]}); g[B[i]].push_back({A[i], T[i]}); } 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; return ans; } // int travelTime() { // 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)

dreaming.cpp:11:4: error: ambiguating new declaration of 'long long int travelTime(int, int, int, int*, int*, int*)'
   11 | ll travelTime(int n, int m, int l, int A[], int B[], int T[]) {
      |    ^~~~~~~~~~
In file included from dreaming.cpp:2:
dreaming.h:8:5: note: old declaration 'int travelTime(int, int, int, int*, int*, int*)'
    8 | int travelTime(int N, int M, int L, int A[], int B[], int T[]);
      |     ^~~~~~~~~~