Submission #120722

#TimeUsernameProblemLanguageResultExecution timeMemory
120722_demon_Duathlon (APIO18_duathlon)C++14
0 / 100
1148 ms1048576 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; ll n,m; ll child[100009]; ll ans; ll w[100009]; vector<ll>v[100009]; int done[100009]; void dfs1(int node,int p){ child[node]=1; done[node]=1; if(node!=p)w[node]=w[p]+1; for(int i=0;i<v[node].size();i++){ int u=v[node][i]; if(u==p)continue; dfs1(u,node); child[node]+=child[u]; } } int a[100009]; void dfs2(int node,int p){ ll sum=0; for(int i=0;i<v[node].size();i++){ int u=v[node][i]; if(w[u]>w[node]){ sum+=child[u]*(n-child[u]-1); } else{ sum+=(n-child[node])*(child[node]-1); } } a[node]=sum; ans+=sum; for(int i=0;i<v[node].size();i++){ int u=v[node][i]; if(u==p)continue; dfs2(u,node); } } int main(){ cin>>n>>m; for(int i=0;i<m;i++){ int a,b; cin>>a>>b; a--;b--; v[a].push_back(b); v[b].push_back(a); } dfs1(0,0); for(int i=0;i<n;i++){ if(done[i]==0){ while(1){ } } } // for(int i=0;i<n;i++)cout<<w[i]<<" "; // cout<<endl; dfs2(0,0); // for(int i=0;i<n;i++)cout<<a[i]<<" "; // cout<<endl; cout<<ans<<endl; }

Compilation message (stderr)

count_triplets.cpp: In function 'void dfs1(int, int)':
count_triplets.cpp:14:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for(int i=0;i<v[node].size();i++){
                 ~^~~~~~~~~~~~~~~
count_triplets.cpp: In function 'void dfs2(int, int)':
count_triplets.cpp:24:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for(int i=0;i<v[node].size();i++){
                 ~^~~~~~~~~~~~~~~
count_triplets.cpp:35:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for(int i=0;i<v[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...