Submission #277098

# Submission time Handle Problem Language Result Execution time Memory
277098 2020-08-21T03:14:14 Z tinjyu Duathlon (APIO18_duathlon) C++14
0 / 100
1 ms 384 KB
#include <iostream>
using namespace std;
long long int son[1000005],ans,cnt,tmp[1000005],n,m,road[1000005],map[1000005][2];
void dfs(int x,int fa)
{
	son[x]=1;
	long long int g=road[x];
	while(g!=-1)
	{
		long long int now=map[g][0];
		if(now!=fa)
		{
			dfs(now,x);
			son[x]+=son[now];
		}
		g=map[g][1];
	}
	return ;
}
void find(int x,int fa)
{
	cnt=0;
	long long int g=road[x];
	while(g!=-1)
	{
		long long int now=map[g][0];
		if(now!=fa)
		{
			ans+=(n-son[now]-1)*son[now];
		}
		g=map[g][1];
	}
	ans+=(n-son[x])*(son[x]-1);
	g=road[x];
	while(g!=-1)
	{
		long long int now=map[g][0];
		if(now!=fa)
		{
			find(now,x);
		}
		g=map[g][1];
	}
	return ;
}
int main(){
	cin>>n>>m;
	if(n==m)
	{
		cout<<n*(n-1)*(n-2);
		return 0;
	}
	for(int i=1;i<=n;i++)
	{
		ans+=(i-1)*(n-i);
	}
	cout<<ans;
	return 0;
	for(int i=1;i<=n;i++)road[i]=-1;
	for(int i=1;i<=m;i++)
	{
		int u,v;
		cin>>u>>v;
		map[i*2][0]=v;
		map[i*2][1]=road[u];
		road[u]=i*2;
		map[i*2+1][0]=u;
		map[i*2+1][1]=road[v];
		road[v]=i*2+1;
	}
	dfs(1,-1);
	find(1,-1);
	cout<<ans<<endl;
	return 0;
}
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 384 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 384 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 384 KB Output is correct
2 Correct 1 ms 384 KB Output is correct
3 Incorrect 1 ms 384 KB Output isn't correct
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 384 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 384 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 384 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 384 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 384 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 384 KB Output isn't correct
2 Halted 0 ms 0 KB -