# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
217116 | anonymous | Capital City (JOI20_capital_city) | C++14 | 766 ms | 32372 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<iostream>
#include<set>
#include<vector>
#include<cassert>
#define MAXN 200005
using namespace std;
int N, K, best = 1<<30, C[MAXN];
vector <int> adj[MAXN], type[MAXN]; //adj and towns in each city
int cmp[MAXN], id = 1;
//Solve for a node
int par[MAXN];
bool done[MAXN];
vector <int> S;
set <int> Used;
void reroot(int u, int prev) {
if (cmp[u] != cmp[prev]) {return;}
par[u] = prev, done[u]=false;
for (auto v: adj[u]) {if (v != prev) {reroot(v, u);}}
}
int slv(int v) { //centre v
int ans = 0;
S.clear();
Used.clear();
reroot(v, v);
Used.insert(C[v]);
par[v] = 0;
for (auto k: type[C[v]]) {
if (cmp[k] != cmp[v]) {
return(1<<30);
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... |