Sáng hôm nay, Trí nhận được tin sẽ có tổng cộng \(N\) người khách đến thăm nhà mình trong cùng ngày. Người khách thứ \(i\) sẽ đến nhà Trí vào thời điểm \(T_i\) và rời đi ở thời điểm \(T_i+1\). Dữ liệu đảm bảo tại một thời điểm bất kỳ, chỉ có tối đa một người khách đến viếng thăm nhà Trí.
Trí là một người rất tiết kiệm điện nên anh ấy muốn thời gian bật đèn trong nhà phải là ít nhất có thể. Tuy nhiên, để thể hiện sự hiếu khách, anh ấy buộc phải đảm bảo rằng hệ thống đèn nhà anh sẽ luôn phát sáng tại mọi thời điểm có khách đến viếng thăm. Ngoài ra, công tắc đèn của nhà Trí có một đặc điểm là không thể bật quá \(K\) lần mỗi ngày.
Bạn hãy lập trình tính toán giúp Trí xem cậu ấy phải bật và tắt hệ thống đèn vào những thời điểm nào để tổng thời gian đèn sáng trong các ngày là ít nhất có thể nhé!
Input
Dòng đầu chứa hai số nguyên dương \(N\) và \(K\).
\(N\) dòng tiếp theo, dòng thứ \(i\) \((1\leq i\leq N)\) chứa số nguyên dương \(T_i\), thể hiện một vị khách đến thăm nhà Trí ở thời điểm \(T_i\) và rời khỏi nhà cậu ở thời điểm \(T_i+1\).
Output
Một số nguyên duy nhất là tổng thời gian phát sáng tối thiểu của hệ thống đèn nhà Trí.
Ví dụ
Sample input 1
3 2
1
3
6
Sample output 1
4
Giải thích
Cách làm tối ưu của Trí là:
- Bật đèn tại thời điểm \(1\), khi vị khách đầu tiên ghé nhà.
- Tắt đèn tại thời điểm \(4\), khi vị khách thứ nhì rời nhà.
- Bật đèn tại thời điểm \(6\), khi vị khách thứ ba ghé nhà.
- Tắt đèn tại thời điểm \(7\), khi vị khách thứ ba rời đi.
Tổng thời gian sáng đèn là \((4-1)+(7-6)=4\).
Sample input 2
3 1
1
2
6
Sample output 2
6
Sample input 3
3 3
1
3
6
Sample output 3
3
Sample input 4
10 5
1
2
5
6
8
11
13
15
16
20
Sample output 4
12
Ràng buộc
Trong tất cả các test:
- \(1\leq N\leq 10^5\)
- \(1\leq K\leq N\).
- \(1\leq T_i \leq 10^9\).
- \(T_i < T_{i+1}\) với mọi \(1\leq i\leq N-1\).
Subtasks
- Subtask 1 (20 điểm): \(N\leq 20\), \(1\leq T_i\leq 20\).
- Subtask 2 (30 điểm): \(N\leq 5000\).
- Subtask 3 (50 điểm): Không có ràng buộc gì thêm.