Submission #753030

#TimeUsernameProblemLanguageResultExecution timeMemory
753030wmrmrDuathlon (APIO18_duathlon)C++17
0 / 100
1067 ms1048576 KiB
#include <bits/stdc++.h> using namespace std; using ll = long long; #define int ll #define all(v) v.begin(), v.end() #define pb push_back void dbg_out() { cerr << endl; } template<typename H, typename... T> void dbg_out(H h, T... t) { cerr << ' ' << h; dbg_out(t...); } #define dbg(...) { cerr << #__VA_ARGS__ << ':'; dbg_out(__VA_ARGS__); } constexpr int N = 100'000; vector<int> g[N]; int n, m; int ans = 0; int sub[N]; void dfs(int u, int dad=-1) { sub[u] = 1; for(int v: g[u]) if(v != dad) { dfs(v, u); sub[u] += sub[v]; } int cnt = 0; for(int v: g[u]) if(v != dad) { cnt += sub[v] * (n - sub[v] - 1); } cnt += (n - sub[u]) * (sub[u] - 1); ans += cnt; } void solve() { cin >> n >> m; for(int i=0;i<m;i++) { int u, v; cin >> u >> v; --u; --v; g[u].pb(v); g[v].pb(u); } dfs(0); cout << ans << '\n'; } signed main() { ios::sync_with_stdio(false); cin.tie(0); solve(); }
#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...