Gửi bài giải

Điểm: 50
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M

Tác giả:
Kiểu bài tập

Khu nhà mới của Hạo có \(N\) người bạn hàng xóm \((N \le 200000)\). Vì dễ bị nhầm nên Hạo đánh số các bạn ấy từ \(1\) đến \(N\). Giữa các ngôi nhà có đường đi tạo thành cây. Khoảng cách giữa hai căn nhà kề nhau là \(1\) đơn vị. Có \(K\) cuộc hẹn \((K \le N/2)\) được Hạo đưa ra để làm quen với các bạn mới. Để tính toán chi phí mời các bạn, Hạo muốn biết xem khoảng cách xa nhất của \(2\) ngôi nhà trong một cuộc hẹn là bao nhiêu? Bạn hãy giúp Hạo giải quyết vấn đề này.

Dữ liệu vào

  • Dòng 1: \(N\) và \(K\)
  • \(N\) dòng tiếp theo, dòng thứ \(i\) gồm \(2\) số \(x\) và \(y\). Trong đó, \(x\) là thứ tự của cuộc hẹn mà bạn thứ \(i\) tham gia, \(y\) là nhà hàng xóm của bạn thứ \(i\). Nếu \(y=0\) thì đó là gốc của khu dân cư (có thể hiểu là gốc của cây).

Dữ liệu ra

  • Gồm \(K\) dòng, dòng thứ \(i\) thể hiện đường đi xa nhất tìm được giữa \(2\) ngôi nhà của \(2\) người bạn trong cuộc hẹn thứ \(i\).

Input 1

6 2
1 3
2 1
1 0
2 1
2 1
1 5

Output 1

3
2

Nhận xét

Không có ý kiến tại thời điểm này.