제출 #829756

#제출 시각아이디문제언어결과실행 시간메모리
829756caganyanmazDuathlon (APIO18_duathlon)C++14
0 / 100
1090 ms1048576 KiB
#include <bits/stdc++.h> #define int int64_t #define pb push_back using namespace std; constexpr static int MXN = 1e5; int n, m; vector<int> g[MXN]; int subtree_size[MXN]; int res; void dfs(int node, int p) { subtree_size[node] = 1; for (int c : g[node]) { if (c == p) continue; dfs(c, node); subtree_size[node] += subtree_size[c]; res += subtree_size[c] * (n - subtree_size[c] - 1); } int rem = n - subtree_size[node]; res += (subtree_size[node] - 1) * rem; } int32_t main() { cin >> n >> m; for (int i = 0; i < m; i++) { int a, b; cin >> a >> b; a--,b--; g[a].pb(b); g[b].pb(a); } dfs(0, 0); cout << res << "\n"; }
#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...