Submission #1172590

#TimeUTC-0UsernameProblemLanguageResultExecution timeMemory
11725902025-03-24 01:21:54versesrevRace (IOI11_race)C++20
0 / 100
1 ms320 KiB
// 23:47
#include <vector>
#include <utility>
#include <functional>
int best_path(int N, int K, int H[][2], int L[]) {
if (N == 1) {
return -1;
}
std::vector<std::vector<std::pair<int, int>>> edges;
for (int i = 0; i < N - 1; ++i) {
edges[H[i][0]].emplace_back(H[i][1], L[i]);
edges[H[i][1]].emplace_back(H[i][0], L[i]);
}
int ans = N + 1;
std::vector<bool> exist(N, true);
std::vector<std::vector<int>> subtree_sizes;
std::vector<std::vector<int>> dists;
std::vector<std::vector<int>> depths;
std::function<void(int, int)> dc = [&](int dc_depth, int root) {
if (dc_depth >= subtree_sizes.size()) {
subtree_sizes.emplace_back(N, 0);
dists.emplace_back(N, 0);
depths.emplace_back(N, 0);
}
// find centroid
int g = std::invoke([&]{
return root;
auto& subtree_size = subtree_sizes[dc_depth];
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...