Submission #568762

#TimeUsernameProblemLanguageResultExecution timeMemory
568762inluminasDuathlon (APIO18_duathlon)C++17
0 / 100
25 ms3156 KiB
#include"bits/stdc++.h" using namespace std; #define ll long long #define endl "\n" #define fastio ios_base::sync_with_stdio(false) #define inf LLONG_MAX #define l first #define r second const ll lmt=1e5+10; ll sz[lmt],par[lmt]; bool vis[lmt]; ll findpar(ll u){ if(par[u]==u) return u; return par[u]=findpar(par[u]); } void merge(ll u,ll v){ u=findpar(u),v=findpar(v); if(u==v) return; par[u]=v; sz[v]+=sz[u]; return; } int main(){ fastio; ll n,m; cin>>n>>m; for(ll i=1;i<=n;i++){ par[i]=i,sz[i]=1; } for(ll i=1;i<=m;i++){ ll u,v; cin>>u>>v; merge(u,v); } ll ans=0; for(ll i=1;i<=n;i++){ ll p=findpar(i); if(vis[p]) continue; vis[p]=1; ll val=sz[p]; if(val<3) continue; ans+=(val*(val-1)*(val-2)); } cout<<ans<<endl; return 0; }
#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...