Submission #1134236

#TimeUsernameProblemLanguageResultExecution timeMemory
1134236DangKhoizzzzPapričice (COCI20_papricice)C++20
0 / 110
4 ms4932 KiB
#include <bits/stdc++.h> #define ll long long #define fi first #define se second #define pii pair <int , int> #define ar3 array <int , 3> using namespace std; const int INF = 1e9 + 7; const int maxn = 2e5 + 7; vector <int> g[maxn]; int n , sz[maxn] , ans = INF; void dfs(int u , int p) { vector <int> vec; sz[u] = 1; for(int v: g[u]) { if(v == p) continue; dfs(v , u); sz[u] += sz[v]; vec.push_back(sz[v]); } vec.push_back(n - sz[u]); sort(vec.begin() , vec.end() , greater <int> ()); if(vec.size() < 2) return; int size_part = 1; for(int i = 2; i < vec.size(); i++) { size_part += vec[i]; } int res = max(abs(vec[0] - size_part) , abs(vec[1] - size_part)); ans = min(ans , res); } void solve() { cin >> n; for(int i = 1; i < n; i++) { int u , v; cin >> u >> v; g[u].push_back(v); g[v].push_back(u); } dfs(1 , 1); cout << ans << '\n'; } int main() { ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); solve(); return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...