Submission #88362

#TimeUsernameProblemLanguageResultExecution timeMemory
88362dimash241Shymbulak (IZhO14_shymbulak)C++17
50 / 100
1577 ms20472 KiB
# include <stdio.h> # include <bits/stdc++.h> #define _USE_MATH_DEFINES_ #define ll long long #define ld long double #define Accepted 0 #define pb push_back #define mp make_pair #define sz(x) (int)(x.size()) #define every(x) x.begin(),x.end() #define F first #define S second #define For(i,x,y) for (int i = x; i <= y; i ++) #define FOr(i,x,y) for (int i = x; i >= y; i --) #define SpeedForce ios_base::sync_with_stdio(0), cin.tie(0) // ROAD to... Red using namespace std; inline bool isvowel (char c) { c = tolower(c); if (c == 'a' || c == 'e' || c == 'i' || c == 'y' || c == 'o' || c == 'u') return 1; return 0; } const double eps = 0.000001; const ld pi = acos(-1); const int maxn = 1e7 + 9; const int mod = 1e9 + 7; const ll MOD = 1e18 + 9; const ll INF = 1e18 + 123; const int inf = 2e9 + 11; const int mxn = 1e6 + 9; const int N = 6e5 + 123; const int M = 22; const int pri = 997; const int Magic = 2101; const int dx[] = {-1, 0, 1, 0}; const int dy[] = {0, -1, 0, 1}; int n, m, k; queue < int > q; vector < int > g[N]; pair < int, int > get (int v) { vector < int > d(n + 1, -1); vector < int > cnt(n + 1, 0); d[v] = 0; cnt[v] = 1; q.push(v); while (q.size()) { int v = q.front(); q.pop(); for (auto to : g[v]) { if (d[to] == -1) { d[to] = d[v] + 1; cnt[to] = cnt[v]; q.push(to); } else if (d[to] == d[v] + 1) { cnt[to] += cnt[v]; } } } int mx = -1, ans = 0; For (i, 1, n) { if (d[i] > mx) { mx = d[i]; ans = cnt[i]; } else if (d[i] == mx) { ans += cnt[i]; } } return mp(mx, ans); } int main () { cin >> n; For (i, 1, n) { int l, r; cin >> l >> r; g[l].pb(r); g[r].pb(l); } int mx = -1, ans = 0; For (i, 1, n) { pair < int, int > cur = get(i); //cout << i << ' ' << cur.F << ' ' << cur.S << '\n'; if (cur.F > mx) mx = cur.F, ans = cur.S; else if (cur.F == mx) ans += cur.S; } cout << ans / 2; return Accepted; } // Coded By OB
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...