Submission #340321

# Submission time Handle Problem Language Result Execution time Memory
340321 2020-12-27T12:37:05 Z Sprdalo Hard route (IZhO17_road) C++17
0 / 100
1 ms 492 KB
#include <bits/stdc++.h>

using namespace std;

#define int ll
typedef long long ll;
typedef long double ld;
typedef pair<int, int> pi;
typedef pair<ll, ll> pl;
typedef vector<int> vi;
typedef vector<ll> vl;
typedef vector<double> vd;
typedef vector<bool> vb;
typedef vector<char> vc;
typedef vector<string> vs;
typedef vector<pi> vp;
typedef vector<pl> vpl;

const int maxn = 5010;
int n, maxi, sol, cnt;
vi e[maxn], d(maxn);

void dfs(int x, int st, int dist = 0){
    maxi = max(maxi, dist);

    for (int i : e[x]){
        if (i == st) continue;
        dfs(i,x,dist+1);
    }
}

int f(int x){
    int s = x * (x-1);
    return s/2;
}

signed main()
{
    ios_base::sync_with_stdio(false); 
    cin.tie(nullptr); 
    cout.tie(nullptr); 
    cerr.tie(nullptr);    

    cin >> n;

    for (int i = 1; i < n; ++i){
        int u, v;
        cin >> u >> v;

        e[u].push_back(v);
        e[v].push_back(u);
    }

    int t = 0;
    for (int i = 1; i <= n; ++i){
        maxi = 0;
        dfs(i,i);
        d[i]=maxi;

        int len = e[i].size();
        t += (len == 1);
    }

    if (t == 2)
        return cout << "0 1\n", 0;

    for (int x = 1; x <= n; ++x){
        int cur = 0;
        for (int i : e[x]){
            int len = e[i].size();
            cur += (len == 1);
        }

        if (cur<2) continue;

        int res = d[x] * 2;
        if (sol == res){
            cnt += f(cur);
        }

        if (sol < res){
            sol = res;
            cnt = f(cur);
        }
    }

    cout << sol << ' ' << cnt << '\n';
}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 492 KB Output is correct
2 Correct 1 ms 492 KB Output is correct
3 Correct 1 ms 492 KB Output is correct
4 Correct 1 ms 492 KB Output is correct
5 Correct 1 ms 492 KB Output is correct
6 Correct 1 ms 492 KB Output is correct
7 Incorrect 1 ms 492 KB Output isn't correct
8 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 492 KB Output is correct
2 Correct 1 ms 492 KB Output is correct
3 Correct 1 ms 492 KB Output is correct
4 Correct 1 ms 492 KB Output is correct
5 Correct 1 ms 492 KB Output is correct
6 Correct 1 ms 492 KB Output is correct
7 Incorrect 1 ms 492 KB Output isn't correct
8 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 492 KB Output is correct
2 Correct 1 ms 492 KB Output is correct
3 Correct 1 ms 492 KB Output is correct
4 Correct 1 ms 492 KB Output is correct
5 Correct 1 ms 492 KB Output is correct
6 Correct 1 ms 492 KB Output is correct
7 Incorrect 1 ms 492 KB Output isn't correct
8 Halted 0 ms 0 KB -