#include "race.h"
#include <bits/stdc++.h>
#define ll long long
using namespace std;
const int INF=1e9;
int best_path(int N, int K, int H[][2], int L[])
{
vector<vector<pair<int,int>>>adj(N);
queue<tuple<int,int,int,ll>>q;
for(int i=0;i<N-1;i++){
auto[u,v]=H[i];
int l=L[i];
adj[u].push_back({v,l});
adj[v].push_back({u,l});
q.push({1,u,v,l});
q.push({1,v,u,l});
}
int res=INF;
while(!q.empty()){
auto[r,u,v,s]=q.front();
q.pop();
if(s==K){
res=min(res,r);
}
if(s>=K){
continue;
}
for(auto[w,l]:adj[v]){
if(w!=u){
q.push({r+1,v,w,s+l});
}
}
}
return (res==INF?-1:res);
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |