# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
172462 | cgiosy | Race (IOI11_race) | C++17 | 494 ms | 38256 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "race.h"
#include <bits/stdc++.h>
#define rep(i,x,n) for(int i=x; i<n; i++)
using namespace std;
constexpr int INF=1e9;
int best_path(int N, int K, int H[][2], int L[]) {
int m=INF;
vector<bool> V(N);
vector<int> C(N, 1), D(K+1, INF), X;
vector<pair<int, int>> Y;
vector<vector<pair<int, int>>> G(N);
rep(i, 0, N-1) {
int x=H[i][0], y=H[i][1], z=L[i];
G[x].push_back({y, z});
G[y].push_back({x, z});
}
#define ITER(i) for(auto[j,w]:G[i]) if(j!=p && !V[j])
function<void(int, int)> cnt=[&](int i, int p) {
ITER(i) cnt(j, i), C[i]+=C[j];
};
function<int(int, int, int)> cent=[&](int i, int p, int n) {
ITER(i) if(C[j]>n/2) {
C[j]+=C[i]-=C[j];
return cent(j, i, n);
}
return i;
};
function<void(int, int, int, int)> f=[&](int i, int p, int d, int k) {
X.push_back(d);
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |