Submission #71951

#TimeUsernameProblemLanguageResultExecution timeMemory
71951KLPPDuathlon (APIO18_duathlon)C++14
23 / 100
272 ms53904 KiB
#include<iostream> #include<stdio.h> #include<vector> #include<queue> #include<algorithm> using namespace std; typedef long long int lld; lld DP[1000000]; bool visited[1000000]; vector<int>nei[1000000]; lld ans; bool visited2[1000000]; void DFS(int node,lld dist){//cout<<node+1<<" "<<dist<<endl; visited[node]=true; lld sum=0; //lld square=0; //lld totaldist=0; for(int i=0;i<nei[node].size();i++){ int v=nei[node][i]; if(!visited[v]){ DFS(v,dist+1); sum+=DP[v]; //square+=DP[v]*DP[v]; } } DP[node]=sum+1; //ans+=sum*sum-square; //cout<<sum*sum-square<<" "<<node+1<<endl; //ans+=dist*(dist-1); } void DFS2(int node,lld componentsize){ visited2[node]=true; lld sq=componentsize-DP[node]; sq*=sq; for(int i=0;i<nei[node].size();i++){ int v=nei[node][i]; if(!visited2[v]){ DFS2(v,componentsize); sq+=DP[v]*DP[v]; } } ans+=(componentsize-1)*(componentsize-1)-sq; //cout<<(componentsize-1)*(componentsize-1)-sq<<" "<<node+1<<endl; } int main(){ int n,m; cin>>n>>m; for(int i=0;i<m;i++){ int x,y; cin>>x>>y; x--;y--; nei[x].push_back(y); nei[y].push_back(x); } ans=0; for(int i=0;i<n;i++){ DP[i]=-1; visited[i]=false; visited2[i]=false; } for(int i=0;i<n;i++){ if(!visited[i]){ DFS(i,0); DFS2(i,DP[i]); } }//for(int i=0;i<n;i++)cout<<DP[i]<<" "<<i+1<<endl; cout<<ans<<endl; return 0; }

Compilation message (stderr)

count_triplets.cpp: In function 'void DFS(int, lld)':
count_triplets.cpp:19:15: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(int i=0;i<nei[node].size();i++){
              ~^~~~~~~~~~~~~~~~~
count_triplets.cpp: In function 'void DFS2(int, lld)':
count_triplets.cpp:36:15: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(int i=0;i<nei[node].size();i++){
              ~^~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...