제출 #914461

#제출 시각아이디문제언어결과실행 시간메모리
914461Isaac_Q1경주 (Race) (IOI11_race)C++14
0 / 100
3 ms4700 KiB
#include <bits/stdc++.h>
#include<vector>
#define rep(i, n) for(int i=0; i<n; i++)
#define pii pair<int, ll>
#define ll long long
using namespace std;
ll TARGET;
const int INF = 1e9;
int BEST;
 
vector<vector<pii>> graph;
 
void DFS(int p, int node, ll w, int lenght){
    if(w > TARGET) return;
    if(w == TARGET) BEST = min(BEST,lenght);

    for(auto e: graph[node])
    {
        if(e.first == p) continue;

        DFS(node, e.first, w + e.second, lenght + 1);
    }
}
 
 
int best_path(int N, int K, int H[][2], int L[]){
    TARGET = K;
    int a, b, l;
    for(int i=0; i<N; i++)
    {
        a = H[i][0]; b = H[i][1]; l = L[i];
        graph[a].push_back({b,l});
        graph[b].push_back({a,l});
    }

    BEST = INF;

    for(int i=0; i<N; i++) DFS(-1,i,0,0);

    if(BEST == INF) return -1;
    return BEST;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...