CSES - Distance Queries | Truy vấn Khoảng cách

View as PDF



Problem types
Points: 1600 (p) Time limit: 1.0s Memory limit: 512M Input: stdin Output: stdout

Cho một cây gồm \(n\) nút.

Nhiệm vụ của bạn là xử lý \(q\) truy vấn dưới dạng: khoảng cách giữa nút \(a\)\(b\) bằng bao nhiêu?

Input

  • Dòng đầu vào đầu tiên chứa hai số nguyên \(n\)\(q:\) số lượng nút và truy vấn. Các nút được đánh số \(1,2,... ,n.\)
  • Sau đó, có \(n−1\) dòng mô tả các cạnh. Mỗi dòng chứa hai số nguyên \(a\)\(b:\) có một cạnh nối hai nút \(a\)\(b\).
  • Cuối cùng, có \(q\) dòng mô tả các truy vấn. Mỗi dòng chứa hai số nguyên \(a\)\(b\) ứng với câu hỏi "Khoảng cách giữa hai nút \(a\)\(b\) là bao nhiêu?".

Output

  • In ra \(q\) số nguyên\(:\) câu trả lời cho mỗi truy vấn.

Constraints

  • \(1 ≤ n,q ≤ 2⋅10^5\)
  • \(1 ≤ a,b ≤ n\)

Example

Sample Input

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

Sample Output

1
3
2

Comments

There are no comments at the moment.