Submission #70404434


Source Code Expand

#include <bits/stdc++.h>
using namespace std;

#define rep(i, start, end) for (auto i = (start); (i) < (end); (i)++)

template <class T>
using Graph = vector<vector<T>>;

template <typename T>
inline bool chmax(T &a, T b) { return ((a < b) ? (a = b, true) : (false)); }

// ======================================== //

int main()
{
    int N;
    cin >> N;
    Graph<int> G(N);
    rep(i, 0, N - 1)
    {
        int A, B;
        cin >> A >> B;
        A--, B--;
        G[A].push_back(B);
        G[B].push_back(A);
    }

    auto get_dist = [&](int start) -> vector<int>
    {
        vector<int> res(N, -1);

        auto bfs = [&](int start) -> void
        {
            queue<int> que;
            que.push(start);
            res[start] = 0;
            while (!que.empty())
            {
                int now = que.front();
                que.pop();

                for (auto next : G[now])
                {
                    if (res[next] != -1)
                        continue;

                    res[next] = res[now] + 1;
                    que.push(next);
                }
            }
            return;
        };

        bfs(start);
        return res;
    };

    auto get_farthest = [&](const vector<int> &dist) -> int
    {
        int res = -1;
        int max_dist = -1;
        rep(i, 0, N)
        {
            if (chmax(max_dist, dist[i]))
            {
                res = i;
            }
        }

        return res;
    };

    vector<int> dist_0 = get_dist(0);
    int u = get_farthest(dist_0);

    vector<int> dist_u = get_dist(u);
    int v = get_farthest(dist_u);

    cout << dist_u[v] + 1 << endl;

    return 0;
}

Submission Info

Submission Time
Task 003 - Longest Circular Road(★4)
User Yuulis
Language C++ 23 (gcc 12.2)
Score 4
Code Size 1752 Byte
Status AC
Exec Time 54 ms
Memory 10368 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 4 / 4
Status
AC × 4
AC × 26
Set Name Test Cases
Sample sample_01.txt, sample_02.txt, sample_03.txt, sample_04.txt
All sample_01.txt, sample_02.txt, sample_03.txt, sample_04.txt, subtask_1_01.txt, subtask_1_02.txt, subtask_1_03.txt, subtask_1_04.txt, subtask_1_05.txt, subtask_1_06.txt, subtask_1_07.txt, subtask_1_08.txt, subtask_1_09.txt, subtask_1_10.txt, subtask_1_11.txt, subtask_1_12.txt, subtask_1_13.txt, subtask_1_14.txt, subtask_1_15.txt, subtask_1_16.txt, subtask_1_17.txt, subtask_1_18.txt, subtask_1_19.txt, subtask_1_20.txt, subtask_1_21.txt, subtask_1_22.txt
Case Name Status Exec Time Memory
sample_01.txt AC 1 ms 3564 KiB
sample_02.txt AC 1 ms 3380 KiB
sample_03.txt AC 1 ms 3424 KiB
sample_04.txt AC 1 ms 3460 KiB
subtask_1_01.txt AC 1 ms 3428 KiB
subtask_1_02.txt AC 1 ms 3568 KiB
subtask_1_03.txt AC 1 ms 3508 KiB
subtask_1_04.txt AC 46 ms 8744 KiB
subtask_1_05.txt AC 35 ms 7332 KiB
subtask_1_06.txt AC 38 ms 7528 KiB
subtask_1_07.txt AC 1 ms 3432 KiB
subtask_1_08.txt AC 5 ms 3748 KiB
subtask_1_09.txt AC 3 ms 3664 KiB
subtask_1_10.txt AC 1 ms 3428 KiB
subtask_1_11.txt AC 1 ms 3444 KiB
subtask_1_12.txt AC 45 ms 8280 KiB
subtask_1_13.txt AC 12 ms 4628 KiB
subtask_1_14.txt AC 1 ms 3424 KiB
subtask_1_15.txt AC 5 ms 3664 KiB
subtask_1_16.txt AC 53 ms 9376 KiB
subtask_1_17.txt AC 52 ms 9388 KiB
subtask_1_18.txt AC 53 ms 9536 KiB
subtask_1_19.txt AC 53 ms 9372 KiB
subtask_1_20.txt AC 54 ms 9440 KiB
subtask_1_21.txt AC 40 ms 9384 KiB
subtask_1_22.txt AC 31 ms 10368 KiB