Submission #474473

#TimeUsernameProblemLanguageResultExecution timeMemory
474473disastahRace (IOI11_race)C++17
Compilation error
0 ms0 KiB
#pragma GCC optimize("Ofast,unroll-loops") #include <bits/stdc++.h> #define ar array using namespace std; typedef long double ld; typedef long long ll; const int inf=1e9+1e8; const ll linf=4e18+18; const int N=2e5; int n, k, h[N], ans=inf; ll dep[N]; map<ll,int> dp[N]; vector<ar<int,2>> g[N]; int get(int v, ll x) { return (dp[v].find(x)!=dp[v].end()?dp[v][x]:inf); } void dfs(int v, int p=-1) { dp[v][dep[v]]=h[v]; for (auto &[u,c] : g[v]) { if (u!=p) { h[u]=h[v]+1, dep[u]=dep[v]+c; dfs(u,v); if (dp[u].size()>dp[v].size()) swap(dp[v],dp[u]); for (auto &[x,dh] : dp[u]) { ans=min(ans,dh+get(v,k-x+2*dep[v])-2*h[v]); } for (auto &[x,dh] : dp[u]) { if (dp[v].find(x)==dp[v].end()) dp[v][x]=dh; else dp[v][x]=min(dp[v][x],dh); } } } } int best_path(int n0, int k0, int h[][2], int l[]) { n=n0, k=k0; for (int i=0; i<n-1; ++i) { g[h[i][0]].push_back({h[i][1],l[i]}); g[h[i][1]].push_back({h[i][0],l[i]}); } dfs(0); return (ans<n?ans:-1); } /*signed main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); #ifdef disastah cout << "Output\n\n"; #endif int tt=1; // cin >> tt; while (tt--) { solve(); cout << "\n"; } }

Compilation message (stderr)

race.cpp:42:1: error: unterminated comment
   42 | /*signed main() {
      | ^