R25TMACHINE
Một kỹ sư cần lập lịch cho một máy chạy trên một số giai đoạn nằm trong các thời điểm \(1,2,…,n\) để làm thí nghiệm sản xuất ra chất \(B\). Mỗi gia đoạn \(i\) được cho bởi thời điểm bắt đầu \(s_i\) và thời điểm kết thúc \(t_i (s_i<t_i)\). Vì lý do kỹ thuật nên không có hai gia đoạn nào giao nhau. Hai giai đoạn \(i\) và \(j\) không giao nhau nếu \(t_i<s_j\) hoặc \(t_j<s_i\). Nếu thí nghiệm chạy trong giai đoạn \(i\) thì lượng chất \(B\) được sản xuất ra sẽ bằng \(t_i-s_i\) đơn vị.
Yêu cầu: Hãy chọn ra \(k (k≤3)\) giai đoạn không giao nhau sao cho tổng lượng chất \(B\) sản xuất được là lớn nhất.
Input
Dòng 1 chứa hai số nguyên \(n,k (2≤n≤10^6,k≤3)\).
Dòng thứ \(i\) trong \(n\) dòng tiếp theo chứa hai số nguyên dương \(s_i\) và \(t_i (s_i<t_i≤3×10^6).\)
Output
- Ghi một số nguyên là lượng chất B thu được. Ghi \(-1\) nếu không có phương án chọn.
Sample Input
5 2
8 12
6 11
3 9
2 5
1 4
Sample Output
8
Giải thích
- Máy chạy tốt nhất trên hai giai đoạn không giao nhau [2, 5] và [6, 11] và sẽ thu được 8 đơn vị chất B.
Comments