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 |
|
|
| 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 |