Submission #94494

#TimeUsernameProblemLanguageResultExecution timeMemory
94494adletRace (IOI11_race)C++17
0 / 100
6 ms5112 KiB
#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; } /* */
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...