Submission #741029

#TimeUsernameProblemLanguageResultExecution timeMemory
741029josanneo22경주 (Race) (IOI11_race)C++17
21 / 100
28 ms4356 KiB
#include <bits/stdc++.h> using namespace std; #define mp make_pair #define pb push_back #define pii pair<int,int> #define fi first #define se second #include "race.h" const int maxn=1005; vector<vector<pii>> adj(maxn); vector<int> w(maxn),d(maxn),vis(maxn); void dfs(int u,int p,int dep,int from){ if(vis[u]) return; w[u]=p; d[u]=dep; vis[u]=1; for(auto&v:adj[u]){ if(!vis[v.fi]&& v.fi!=from) dfs(v.fi,p+v.se,dep+1,u); } } int best_path(int n, int k, int H[][2], int L[]) { for(int i=0;i<n-1;i++){ adj[H[i][0]].pb(mp(H[i][1],L[i])); adj[H[i][1]].pb(mp(H[i][0],L[i])); } int ans=INT_MAX; for(int i=0;i<n;i++){ for(int j=0;j<n;j++){ d[j]=-1; w[j]=-1; vis[j]=0; } dfs(i,0,0,i); for(int j=0;j<n;j++){ if(w[j]==k) ans=min(ans,d[j]); } } if(ans==INT_MAX) return -1; else return ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...