Thu hoạch nấm

Xem dạng PDF

Gửi bài giải

Điểm: 1,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Problem type
Ngôn ngữ cho phép
C, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch

Đang là giữa mùa đông và việc đi ra khỏi nhà là việc vô cùng khó khăn với Bờm. Ngày mai, bạn ấy được giao việc đi thu hoạch nấm trên khu đất nhà mình.

Có thể coi khu đất có nấm mà Bờm phải thu hoạch là một đoạn thẳng trên trục số. Có ~n~ vị trí có nấm, vị trí thứ ~i~ ở điểm ~x_i~ và có ~c_i~ cây nấm. Vì trời rất lạnh nên Bờm muốn chọn 1 điểm xuất phát để từ đó thu hoạch nấm những điểm có khoảng cách không quá ~k~ so với vị trí mà Bờm chọn sao cho tổng số nấm thu được là nhiều nhất có thể.

Yêu cầu

Hãy giúp Bờm tính xem tổng số nấm lớn nhất mà Bờm có thể thu hoạch được trong khoảng cách không quá ~k~ tính từ vị trí xuất phát mà Bờm đã chọn từ trước.

Input

  • Dòng đầu là số ~n~ (~n \leq 10^6~) và số ~k~ (~k \leq 2 \times 10^6~): số vị trí có nấm.
  • ~n~ dòng tiếp theo, mỗi dòng gồm 2 số ~c_i~ và ~x_i~ (~c_i \leq 10^4~, ~x_i \leq 10^6~): có ~c_i~ cây nấm ở điểm ~x_i~.

Output

Ghi ra một số nguyên duy nhất là tổng số nấm lớn nhất mà Bờm có thể thu hoạch được.

Sample Test

Input
4 3
4 7
10 15
2 2
5 1
Output
11

Giải thích: Bờm nên xuất phát từ vị trí 4 để có thể thu hoạch được nấm ở vị trí 1, 2 và 7. Tổng số nấm là: ~5 + 2 + 4 = 11~.

Ràng buộc
  • Ít nhất 40% số điểm ứng với các test có ~n \leq 5000~.

Bình luận

Please read the guidelines before commenting.


Không có bình luận tại thời điểm này.