#78. SEGMENT (Mã bài: SEGMENT)

Bộ nhớ: 512 MiB Thời gian: 1000 ms Nhập/xuất từ luồng chuẩn
Kiểu bài: Thông thường Kiểu chấm: So sánh văn bản
Đưa lên bởi: Trùm CUỐI

Đề bài

Bạn được cho n đoạn thẳng trên trục tọa độ Ox. Đoạn thẳng thứ i được ký hiệu [l_i, r_i] ( l_i \le r_i ) và bao phủ toàn bộ các điểm nguyên j thỏa mãn l_i \le j \le r_i .

Một vị trí nguyên được gọi là tệ nếu như có nhiều hơn k đoạn bao phủ điểm nó.

Yêu cầu: Hãy tính số đoạn thẳng ít nhất cần xóa để không còn vị trí tệ nào.

Dữ liệu:

  • Dòng đầu tiên gồm hai số nguyên n k ( 1 \le k \le n \le 3 \times 10^5 ).
  • n dòng tiếp theo, mỗi dòng gồm hai số nguyên l_i r_i ( 1 \le l_i \le r_i \le n ) — hai đầu của đoạn thẳng thứ i .

Kết quả: Một số nguyên duy nhất là số đoạn thẳng cần xóa.

Ví dụ: Dữ liệu:

7 2
5 5
3 5
1 2
2 3
1 2
3 5
1 3

Kết quả:

3

Dữ liệu:

3 1
1 2
3 4
5 6

Kết quả:

0

Giải thích: Ở ví dụ đầu tiên, ta có thể chọn xóa các đoạn thẳng 4, 6 và 7.

Giới hạn:

  • Subtask #1 (30%): n \le 20 .
  • Subtask #2 (30%): n \le 300 .
  • Subtask #3 (20%): n \le 3000 .
  • Subtask #4 (20%): Không có ràng buộc gì thêm.