Nộp bài | Các bài nộp | Làm tốt nhất | Về danh sách bài |
P156SUMD - ROUND 6D - Đường kính của cây |
Cho 1 cây ban đầu gồm 4 đỉnh 1, 2, 3 và 4, trong đó đỉnh 1 là gốc và các nút lá lần lượt là 2, 3 và 4. Đường kính của cây là độ dài đường đi đơn dài nhất trong cây.
Gọi n là số đỉnh của cây tại mỗi thời điểm. Có Q truy vấn như sau:
Mỗi truy vấn thực hiện chọn nút lá v (1 <= v <= n). Sau đó sẽ thêm 2 đỉnh n+1 và n+2 vào cây, đồng thời nối hai cạnh (v, n+1) và (v, n+2). Bài toán yêu cầu bạn tính đường kính của cây sau mỗi truy vấn này.
Input
Dòng đầu tiên là số nguyên Q – số lượng truy vấn (1 <= Q <= 5*10^5).
Q dòng tiếp theo mỗi dòng chứa 1 số v.
Output
Với mỗi truy vấn, bạn hãy in ra đường kính của cây.
Example
Input:5
2
3
4
8
5
Output:3
4
4
5
6
Được gửi lên bởi: | adm |
Ngày: | 2015-08-06 |
Thời gian chạy: | 1s |
Giới hạn mã nguồn: | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Ngôn ngữ cho phép: | ASM32-GCC ASM32 MAWK BC C CSHARP C++ 4.3.2 CPP CPP14 COFFEE LISP sbcl DART FORTH GO JAVA JS-RHINO KTLN OCT PAS-GPC PAS-FPC PERL PERL6 PROLOG PYTHON PYTHON3 PY_NBC R RACKET SQLITE SWIFT UNLAMBDA |