Submission #1076467

#TimeUsernameProblemLanguageResultExecution timeMemory
1076467rayan_bdRace (IOI11_race)C++17
21 / 100
18 ms4188 KiB
#include <bits/stdc++.h>
using namespace std;
 
#define pb push_back
 
const int mxN = 1005;
const int INF = (int)1e9;
 
vector<pair<int,int>> adj[mxN];
 
int find(int src,int par,int k){
    if(k<0) return INF;
    if(k==0) return 0;
    int ans=INF;
    for(auto it:adj[src]){
        if(it.first!=par){
            ans=min(ans,find(it.first,src,k-it.second)+1);
        }
    }
    return ans;
}
 
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({h[i][1],l[i]});
        adj[h[i][1]].pb({h[i][0],l[i]});
    }
 
    int ans=INF;
 
    for(int i=0;i<n;++i){
        ans=min(ans,find(i,-1,k));
    }
 
    if(ans==INF) return -1;
    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...