This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include<bits/stdc++.h>
#include "race.h"
using namespace std ;
const int NN = 1e5 + 7 ;
int n , k ;
vector<pair<int , int > > adj[NN] ;
long long ans = 1e14 ;
int dfs(int x , int p , long long sum , long long l){
if(sum==k){
ans = min(ans , l) ;
}
for(auto u : adj[x]){
if(u.first==p)continue ;
dfs(u.first , x , sum+u.second , l+1) ;
}
}
int best_path(int N, int K, int H[][2], int L[])
{
n = N ;
k = K ;
bool zez = 0 ;
for(int i = 0 ;i < n-1 ;i++){
adj[H[i][0]+1].push_back({H[i][1]+1 , L[i]}) ;
adj[H[i][1]+1].push_back({H[i][0]+1, L[i]}) ;
zez|=!L[i] ;
}
for(int i =1 ;i <= n;i++){
dfs(i , i , 0 , 0) ;
}
if(ans==10000000000000) ans = -1 ;
if(!k&&zez)ans = 1 ;
return ans ;
}
Compilation message (stderr)
race.cpp: In function 'int dfs(int, int, long long int, long long int)':
race.cpp:23:1: warning: no return statement in function returning non-void [-Wreturn-type]
}
^
# | 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... |