Công việc (OLP MT&TN 2021 CT)

View as PDF



Problem type
Points: 100 Time limit: 1.0s Memory limit: 512M Input: stdin Output: stdout

Cho \(n\) công việc và mối quan hệ xử lí trước sau được mô tả bằng một cây. Mỗi nút tương ứng với một công việc và phải thực hiện trong một đơn vị thời gian. Các công việc tương ứng với nút lá cần được thực hiện trước công việc tương ứng với nút cha. Có m máy, mỗi máy trong một đơn vị thời gian chỉ xử lí liên tục được một công việc.

Yêu cầu: Xếp lịch để thời gian hoàn thành là sớm nhất.

Input

  • Vào từ thiết bị vào chuẩn có khuôn dạng:
  • Dòng đầu chứa hai số \(n, m\);
  • Tiếp theo là \(n-1\) dòng, mỗi dòng mô tả một cạnh của cây.

Output

  • Ghi ra thiết bị ra chuẩn một số nguyên là thời gian nhỏ nhất cần để thực hiện.

Scoring

  • Subtask \(1\) (\(40\%\) số điểm): \(n≤ 3000\);
  • Subtask \(2\) (\(60\%\) số điểm): \(n≤ 300000\).

Example

Test 1

Input
14 3
1 3
2 3
3 4
7 4
4 5
5 6
10 11
9 11
8 11
11 5
12 13
13 6
14 6 
Output
6
Note