#1465. POLICE

Bộ nhớ: 256 MiB Thời gian: 500 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

CSP Open Contest 5

Ryo là một cảnh sát trưởng vô cùng tài ba. Vì không gặp thuận lợi lắm trong chuyện tình cảm nên Ryo rất tức giận mỗi khi nhìn thấy các cặp đôi đi chơi với nhau. Lễ Giáng Sinh cũng đang đến rất gần rồi nên Ryo quyết định sẽ điều động cảnh sát đi canh chốt ở một số các tuyến phố để nhằm phá hoại các cặp đôi không chú ý khi tham gia giao thông (đương nhiên điều đó làm Ryo thấy rất vui!).

Thành phố mà Ryo sinh sống có M tuyến phố được đánh số từ 1 đến M . Vì là cảnh sát trưởng nên có N cảnh sát mà Ryo có thể điều động, đánh số từ 1 đến N . Cảnh sát thứ i khi được điều động sẽ canh chốt ở các tuyến phố có số hiệu từ a_i đến b_i . Tất nhiên các cặp đôi đi chơi Giáng Sinh không chỉ đi duy nhất một ngày nên Ryo quyết định sẽ cho cảnh sát canh chốt ở 3 ngày liên tiếp. Khổ nỗi, tất cả các cảnh sát đều có việc riêng của mình nên mỗi người sẽ chỉ canh chốt vào một ngày duy nhất thôi. Nhưng vì không thể từ bỏ khao khát phá hoại hạnh phúc các cặp đôi nên Ryo lên kế hoạch như sau: Ryo sẽ chọn 2 chỉ số X, Y\ (1 < X, Y < N, X ≤ Y ) và điều động tất cả cảnh sát có chỉ số từ 1 đến X − 1 đi canh chốt vào ngày 1 , tất cả cảnh sát có chỉ số từ X đến Y canh chốt vào ngày 2 và tất cả cảnh sát có chỉ số từ Y + 1 đến N canh chốt vào ngày 3 .

Việc phân bố lực lượng để canh chốt trong ba ngày là một điều hết sức khó khăn. Độ tốt của một ngày là số lượng tuyến phố phân biệt bị canh chốt bởi ít nhất một cảnh sát đi canh trong ngày đó.

Bạn hãy tìm cách giúp Ryo phân bố cảnh sát sao cho tổng độ tốt của cả ba ngày là lớn nhất nhé!

Dữ liệu vào:

  • Dòng đầu tiên bao gồm hai số nguyên dương N, M\ (N ≤ 2 × 10^5, M ≤ 10^8) là số lượng cảnh sát và số lượng tuyến phố;
  • N dòng tiếp theo, dòng thứ i bao gồm 2 số nguyên a_i b_i\ (1 ≤ a_i ≤ b_i ≤ M) miêu tả phạm vi làm việc của cảnh sát thứ i .

Dữ liệu ra:

  • Gồm một số nguyên dương là tổng độ tốt lớn nhất của cả 3 ngày.

Ví dụ:

Dữ liệu vào:
8 9
1 2
1 3
3 3
1 6
5 6
3 3
1 2
6 9
Dữ liệu ra:
17

Giải thích: Chọn X = 4, Y = 4 hoặc X = 3, Y = 4 .

Giới hạn:

  • Subtask \#1: 10\% số điểm có N, M ≤ 100 ;
  • Subtask \#2: 15\% số điểm khác có N, M ≤ 1000 ;
  • Subtask \#3: 15\% số điểm khác có N ≤ 500 ;
  • Subtask \#4: 60\% số điểm còn lại không có điều kiện gì thêm.