| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 1335276 | aaaaaaaa | Duathlon (APIO18_duathlon) | C++20 | 1125 ms | 1114112 KiB |
#include<bits/stdc++.h>
using namespace std;
#define int long long
const int mxN = 2e5 + 100;
vector<int> adj[mxN];
int n, m, ans = 0, s[mxN], szz[mxN], parent[mxN];
int find(int u){
if(parent[u] == u) return u;
return parent[u] = find(parent[u]);
}
void unite(int u, int v){
u = find(u), v = find(v);
szz[u] += szz[v], parent[v] = u;
}
int csz(int u){
return szz[find(u)];
}
void dfs(int u = 1, int par = 0){
s[u] = 1;
int total = 0;
for(auto it : adj[u]){
if(it ^ par){
dfs(it, u);
ans += total * s[it];
total += s[it];
}
}
int left = csz(u) - total - 1;
ans += left * total;
s[u] += total;
}
signed main(){
ios_base::sync_with_stdio(0);
cin.tie(nullptr); cout.tie(nullptr);
cin >> n >> m;
for(int i = 1; i <= n; ++i){
szz[i] = 1, parent[i] = i;
}
for(int i = 1, u, v ; i <= m; ++i){
cin >> u >> v;
adj[u].push_back(v);
adj[v].push_back(u);
unite(u, v);
}
for(int i = 1; i <= n; ++i) if(find(i) == i) dfs(i, 0);
cout << (long long) ans * 2 << "\n";
return 0;
}
| # | 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... | ||||
