PreVOI 2024 - Contest 1 - Đường kính

Xem dạng PDF

Gửi bài giải

Điểm: 60,00 (OI)
Giới hạn thời gian: 2.0s
Giới hạn bộ nhớ: 1G
Input: stdin
Output: stdout

Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Output Only, Pascal, PyPy, Python, Scratch, TEXT

Trong trường hợp đề bài hiển thị không chính xác, bạn có thể tải đề bài tại đây: Đề bài

Gọi khoảng cách giữa hai đỉnh ~u, v~ trên cây là số cạnh ít nhất cần đi qua để đi từ ~u~ đến ~v~. Đường kính của một tập đỉnh là khoảng cách xa nhất giữa hai đỉnh trong tập đó.

Bạn được cho ~Q~ truy vấn, truy vấn thứ ~i~ gồm một số nguyên ~v_i~ tương ứng với việc xoá đỉnh ~v_i~ thuộc tập ~A~, và thêm đỉnh ~v_i~ vào tập ~B~.

Yêu cầu: Hãy đưa ra đường kính của tập đỉnh ~A~ và tập đỉnh ~B~ sau mỗi truy vấn.

Input

  • Dòng đầu tiên chứa hai số nguyên tương ứng là số đỉnh ~N~ (~1 \le N \le 4 \times 10^5~) của cây đồ thị và số truy vấn ~Q~ (~1 \le Q < N~).
  • ~N - 1~ dòng tiếp theo, mỗi dòng chứa hai số nguyên ~a, b~ (~1 \le a, b \le N~) tương ứng là hai đỉnh có cạnh nối với nhau trên cây.
  • ~Q~ dòng cuối cùng, dòng thứ ~i~ là số nguyên ~v_i~ (~1 \le v_i \le N~) tương ứng với truy vấn thứ ~i~. Dữ liệu đảm bảo các ~v_i~ là phân biệt.

Output

  • Ghi kết quả trên ~Q~ dòng, dòng thứ ~i~ chứa hai số nguyên tương ứng là đường kính của tập ~A~ và đường kính của tập ~B~ sau truy vấn thứ ~i~.

Sample Input 1

5 4
1 2
2 4
1 3
3 5
2
1
4
3

Sample Output 1

4 0
4 1
1 2
0 3

Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.