Submission #978762

#TimeUsernameProblemLanguageResultExecution timeMemory
978762De3b0oDuathlon (APIO18_duathlon)C++14
23 / 100
1064 ms1048576 KiB
#include<bits/stdc++.h> #define ll long long #define F first #define S second #define in insert #define pb push_back #define ppb pop_back() #define d3 ios::sync_with_stdio(0);cin.tie(0);cout.tie(0); #define cans cout << ans << "\n"; #define yes cout << "Yes" << "\n"; #define no cout << "No" << "\n"; #define pll pair<ll,ll> #define lin cout << "\n"; #define sqr 340 #define mod 1000000007 #define mid ((l+r)/2) #define lc (2*n) #define rc (2*n+1) using namespace std; ll fp(ll x , ll y) { if(y==0) return 1; ll z = fp(x,y/2); if(y&1) return z*z*x; else return z*z; } int sqrot(ll x) { int l = 0 , r = INT_MAX; while(l<=r) { if(mid*mid>=x) r=mid-1; else l=mid+1; } return r+1; } ll cel(ll x , ll y) { return x/y + bool(x%y); } string tb(ll x) { string s = ""; while(x>0) { if(x&1) s+='1'; else s+='0'; x/=2; } while(s.size()<60) s+='0'; return s; } ll fb(string s) { ll x = 0; ll c = 1; for(int8_t i = 0 ; 60>i ; i++) { if(s[i]=='1') x+=c; c*=2; } return x; } ll n , m; vector<ll> adj[100009]; vector<ll> v; bool vis[100009]; ll sz; ll st[100009]; ll ans; void dfs(ll n , ll p) { vis[n]=1; sz++; st[n]=1; for(auto it : adj[n]) { if(it==p) continue; dfs(it,n); st[n]+=st[it]; } } void dpt(ll n , ll p) { ans+=(sz-st[n])*(st[n]-1); for(auto it : adj[n]) { if(it==p) continue; ans+=(sz-1-st[it])*(st[it]); dpt(it,n); } } int main() { cin >> n >> m; for(int i = 0 ; m>i ; i++) { ll u , v; cin >> u >> v; adj[u].pb(v); adj[v].pb(u); } for(int i = 1 ; n>=i ; i++) { if(vis[i]) continue; sz=0; dfs(i,0); dpt(i,0); } cans }
#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...