답안 #94494

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
94494 2019-01-19T11:29:25 Z adlet 경주 (Race) (IOI11_race) C++17
0 / 100
6 ms 5112 KB
#include <bits/stdc++.h>
#include "race.h"

using namespace std;

const int INF = 1e9;
const int NN = 2e5 + 5;

int ans = INF, k;

vector < pair < int, int > > g[NN];

inline void dfs(int v, int sum = 0, int p = -1, int h = 0) {
    if (sum > k || h > ans)
        return;
    if (sum == k) {
        ans = min(ans, h);
        return;
    }
    for (auto node : g[v]) {
        int to = node.first, len = node.second;
        if (to == p)
            continue;
        dfs(to, sum + len, v, h + 1);
    }
}

int best_path(int N, int K, int H[][2], int L[]){
    k = K;
    for (int i = 0; i < N; ++i) {
        int v = H[i][0], u = H[i][1];
        g[v].push_back({u, L[i]});
        g[u].push_back({v, L[i]});
    }
    for (int i = 0; i < N; ++i)
        dfs(i);
//    if (ans == INF)
//        ans = -1;
    return ans;
}
/*


*/
# 결과 실행 시간 메모리 Grader output
1 Correct 6 ms 5112 KB Output is correct
2 Correct 6 ms 4984 KB Output is correct
3 Incorrect 6 ms 4984 KB Output isn't correct
4 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 6 ms 5112 KB Output is correct
2 Correct 6 ms 4984 KB Output is correct
3 Incorrect 6 ms 4984 KB Output isn't correct
4 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 6 ms 5112 KB Output is correct
2 Correct 6 ms 4984 KB Output is correct
3 Incorrect 6 ms 4984 KB Output isn't correct
4 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 6 ms 5112 KB Output is correct
2 Correct 6 ms 4984 KB Output is correct
3 Incorrect 6 ms 4984 KB Output isn't correct
4 Halted 0 ms 0 KB -