#include <bits/stdc++.h>
#include "race.h"
using namespace std;
int k, n;
vector<pair<int, int>> g[200005];
int rez=-1;
void f(long long sum, int priv, int cur, int l)
{
// cout << sum << " " << priv << " " << cur << " " << l << "\n";
if(sum > k)return;
if(sum==k)
{
if(rez==-1) rez=l;
else
{
if( l < rez) rez=l;
}
return;
}
for(auto i: g[cur])
{
if(i.first==priv) continue;
f(sum+i.second, cur, i.first, l+1);
}
}
int best_path(int N, int K, int H[][2], int L[])
{
n = N;
k = K;
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]});
}
for(int i =0; i < n; i++)
{
f(0, -1, i, 0);
}
return rez;
}
# | 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... |