# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
734117 | Username4132 | 철인 이종 경기 (APIO18_duathlon) | C++14 | 1098 ms | 1048576 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<vector>
using namespace std;
using ll = long long;
#define forn(i, n) for(int i=0; i<(int)n; ++i)
#define PB push_back
const int MAXN=100010;
int n, m, curSz, si[MAXN];
bool vis[MAXN];
ll ans=0;
vector<int> g[MAXN], roots;
void dfs1(int v){
vis[v]=true;
for(int to:g[v]) if(!vis[to]) dfs1(to);
}
void dfs2(int v, int p){
si[v]=1;
for(int to:g[v]) if(to!=p){
dfs2(to, v);
si[v]+=si[to];
}
}
void dfs3(int v, int p){
ll sq=0;
for(int to:g[v]) if(to!=p){
sq+=((ll)si[to])*si[to];
dfs3(to, v);
}
sq+=((ll)(curSz-si[v]))*(curSz-si[v]);
sq=((ll)(curSz-1))*(curSz-1) - sq;
ans+=sq;
}
int main(){
scanf("%d %d", &n, &m);
forn(i, m){
int a, b; scanf("%d %d", &a, &b); --a, --b;
g[a].PB(b), g[b].PB(a);
}
forn(i, n) if(!vis[i]) dfs1(i), roots.PB(i);
for(auto ro:roots) dfs2(ro, ro);
for(auto ro:roots){
curSz = si[ro];
dfs3(ro, ro);
}
printf("%lld\n", 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... |