Submission #89156

#TimeUsernameProblemLanguageResultExecution timeMemory
89156faustaadpDuathlon (APIO18_duathlon)C++17
23 / 100
164 ms35432 KiB
#include<bits/stdc++.h> #define ll long long #define pb push_back #define mp make_pair #define fi first #define se second using namespace std; ll n,m,i,ta,tb,has,besar[101010],ketua[101010],b[101010]; vector<ll> v[101010]; void dfs1(ll aa,ll bb) { if(ketua[aa]!=0)return; ketua[aa]=i; besar[aa]=1; ll ii; for(ii=0;ii<v[aa].size();ii++) { if(v[aa][ii]==bb)continue; dfs1(v[aa][ii],aa); besar[aa]+=besar[v[aa][ii]]; } } void dfs2(ll aa,ll bb) { if(b[aa])return ; b[aa]=1; ll ii,tot=0; vector<ll> x; x.pb(besar[ketua[aa]]-besar[aa]); for(ii=0;ii<v[aa].size();ii++) if(v[aa][ii]!=bb) x.pb(besar[v[aa][ii]]); for(ii=0;ii<v[aa].size();ii++) if(v[aa][ii]!=bb) dfs2(v[aa][ii],aa); for(ii=0;ii<x.size();ii++) { // cout<<aa<<" "<<2<<" "<<x[ii]<<" "<<tot<<"\n"; has+=2LL*x[ii]*tot; tot+=x[ii]; } } int main() { ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0); cin>>n>>m; for(i=1;i<=m;i++) { cin>>ta>>tb; v[ta].pb(tb); v[tb].pb(ta); } for(i=1;i<=n;i++) { if(besar[i]==0) { //cout<<i<<" "<<i<<"\n"; dfs1(i,i); dfs2(i,i); } } cout<<has<<"\n"; }

Compilation message (stderr)

count_triplets.cpp: In function 'void dfs1(long long int, long long int)':
count_triplets.cpp:16:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for(ii=0;ii<v[aa].size();ii++)
              ~~^~~~~~~~~~~~~
count_triplets.cpp: In function 'void dfs2(long long int, long long int)':
count_triplets.cpp:30:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for(ii=0;ii<v[aa].size();ii++)
              ~~^~~~~~~~~~~~~
count_triplets.cpp:33:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for(ii=0;ii<v[aa].size();ii++)
              ~~^~~~~~~~~~~~~
count_triplets.cpp:36:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for(ii=0;ii<x.size();ii++)
              ~~^~~~~~~~~
#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...