| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 1055969 | Triseedot | Closing Time (IOI23_closing) | C++17 | 86 ms | 31872 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 <bits/stdc++.h>
using namespace std;
#ifdef LOCAL
#include <debug.h>
#else
#define debug(...) 42
#endif
using ll = long long;
#define all(v) v.begin(), v.end()
#define len(v) int(v.size())
const ll INF = 1e18;
int max_score(int N, int X, int Y, ll K, vector<int> U, vector<int> V, vector<int> W) {
vector<vector<pair<int, int>>> g(N);
for (int i = 0; i < N - 1; i++) {
g[V[i]].push_back({U[i], W[i]});
g[U[i]].push_back({V[i], W[i]});
}
auto calc_dist = [&] (int v_s) {
vector<int> dist(N, INF);
dist[v_s] = 0;
function<void(int, int)> dfs = [&] (int v, int pr) {
for (auto [u, w] : g[v]) {
if (u == pr) continue;
dist[u] = dist[v] + w;
dfs(u, v);
}
};
dfs(v_s, -1);
return dist;
};
vector dist_x = calc_dist(X), dist_y = calc_dist(Y);
sort(all(dist_x)); sort(all(dist_y));
vector<ll> cost_x(N + 1, 0), cost_y(N + 1, 0);
for (int i = 0; i < N; i++) {
cost_x[i + 1] = cost_x[i] + dist_x[i];
cost_y[i + 1] = cost_y[i] + dist_y[i];
}
int j = 0;
int ans = 0;
for (int i = N; i >= 0; i--) {
while (cost_x[i] + cost_y[j + 1] <= K) j++;
if (cost_x[i] + cost_y[j] <= K) {
ans = max(ans, i + j);
}
}
return ans;
}
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... | ||||
| # | 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... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
