Tặng quà
Đề bài
Mô tả
Sau một ngày làm việc vất vả, Phát sẽ thưởng cho mình bằng những bữa ăn với những trái ớt ngon lành.
Anh ta có trái ớt được nối với nhau qua cành, hai trái ớt bất kì luôn được nối với nhau qua chuỗi những cành. Tóm lại, những trái ớt đó tạo thành cây.
Phát sẽ có ba bữa ăn trong ngày. Để chuẩn bị cho bữa ăn, anh ta sẽ cắt cành cây bất kì (hai cành khác nhau) để có được đùm ớt, mỗi đùm cho mỗi bữa. Mỗi đùm là một phần liên thông còn lại sau khi cắt, số trái ớt của đùm là số trái ớt trong phần đó.
Tuy nhiên Phát không muốn bất kì bữa ăn nào quá cay, nên anh ấy quyết định cắt sao cho độ chênh lệch giữa đùm có nhiều ớt nhất và đùm có ít ớt nhất là nhỏ nhất.
Yêu cầu: Hãy giúp Phát tìm độ chênh lệch nhỏ nhất có thể.
Dữ liệu vào
- Dòng đầu chứa số nguyên là số lượng ớt. Các trái ớt được đánh số từ đến ;
- Mỗi dòng trong dòng còn lại gồm số nguyên và () là số hiệu trái ớt nối trực tiếp với nhau.
Dữ liệu đảm bảo các cành tạo thành một cây.
Dữ liệu ra
In ra độ chênh lệch tối thiểu giữa đùm có nhiều ớt nhất và đùm có ít ớt nhất.
Ràng buộc
- ;
- .
Subtasks
- Subtask 1 ( số điểm): ;
- Subtask 2 ( số điểm): ;
- Subtask 3 ( số điểm): không có ràng buộc gì thêm.
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 4 1 2 2 3 3 4 |
1 | Có cách cắt để tạo thành một đùm có trái ớt và hai đùm có trái ớt. Do đó độ chênh lệch là . |
| 6 1 2 1 3 3 4 3 5 5 6 |
0 | Cắt cành và cành được ba đùm , , , mỗi đùm trái ớt. |
| 9 1 3 2 3 3 4 3 5 5 6 5 7 7 8 7 9 |
2 | Cắt cành và cành , số lượng trái ớt trong các đùm lần lượt là nên kết quả là . |
Bình luận