# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1143072 | CDuong | City (JOI17_city) | C++20 | 300 ms | 22716 KiB |
#include "Encoder.h"
#include <bits/stdc++.h>
#define taskname ""
#define all(x) x.begin(), x.end()
#define rall(x) x.rbegin(), x.rend()
#define i64 long long
#define isz(x) (int)x.size()
using namespace std;
void Encode(int N, int A[], int B[]) {
vector<vector<int>> g(N);
for (int i = 0; i < N - 1; ++i) {
int u = A[i], v = B[i];
g[u].emplace_back(v);
g[v].emplace_back(u);
}
vector<int> a(1 << 8);
for (int i = 0; i + 1 < 1 << 8; ++i) {
a[i + 1] = max(a[i] + 1.0L, a[i] * 1.05L);
}
int tdfs = 0;
vector<i64> tin(N), tout(N);
auto dfs = [&](auto self, int u, int p) -> void {
tin[u] = tdfs++;
for (auto v : g[u]) if (v != p) {
self(self, v, u);
}
int len = tdfs - tin[u] - 1;
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |