Điều hướng chính

Ngôn ngữ

Phím tắt

/
Chuyển đến ô tìm bài
g p
Đi đến bài tập
g c
Đi đến kỳ thi
g u
Đi đến người dùng
?
Mở trợ giúp phím tắt

Đường kính

Dễ

  • 100 Điểm
  • 0% Tỉ lệ AC
  • 0 Số AC
  • 256M Bộ nhớ giới hạn
  • 3.0s Giới hạn thời gian

Cho một đồ thị vô hướng là cây gồm \(N\) đỉnh. Xét hai tập đỉnh \(A\) và \(B\), ban đầu tập \(A\) chứa toàn bộ \(N\) đỉnh trên cây, còn tập \(B\) rỗng.

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

Bạn được yêu cầu xử lý \(Q\) truy vấn. Truy vấn thứ \(i\) là một số nguyên \(v_i\), tương ứng với việc xoá đỉnh \(v_i\) khỏi tập \(A\) và thêm nó vào tập \(B\).

Sau mỗi truy vấn, hãy in ra đường kính của tập \(A\) và tập \(B\).

Input

  • Dòng đầu tiên chứa hai số nguyên \(N\) và \(Q\) \((1 \le N \le 4 \cdot 10^5, 1 \le Q < N)\) --- số đỉnh của cây và số truy vấ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)\) mô tả một cạnh nối giữa hai đỉnh \(a\) và \(b\).
  • Dòng tiếp theo gồm \(Q\) dòng, dòng thứ \(i\) chứa một số nguyên \(v_i\) \((1 \le v_i \le N)\) --- truy vấn thứ \(i\).

Output

  • Gồm \(Q\) dòng, dòng thứ \(i\) in ra hai số nguyên --- đường kính của tập \(A\) và đường kính của tập \(B\) sau truy vấn thứ \(i\).

Example

Test 1

Input
5 4
1 2
2 4
1 3
3 5
2
1
4
3
Output
4 0
4 1
1 2
0 3

Scoring

  • Subtask 1 (20 điểm): \(N, Q \le 500\)
  • Subtask 2 (20 điểm): \(N \le 2 \cdot 10^4\), \(Q \le 10^3\)
  • Subtask 3 (20 điểm): Mỗi đỉnh có tối đa hai cạnh nối với nó.
  • Subtask 4 (20 điểm): Khoảng cách giữa hai đỉnh xa nhất trong cây không vượt quá 40.
  • Subtask 5 (20 điểm): Không có ràng buộc gì thêm.

Bình luận

Chưa có bình luận nào.