USACO 2014 - The Lazy Cow

Xem PDF



Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 1100 (p) Thời gian: 4.0s Bộ nhớ: 512M Input: bàn phím Output: màn hình

Đó là một ngày hè nóng nực và cô bò Bessie cảm thấy khá lười biếng. Cô muốn chọn một vị trí trong cánh đồng để có thể tiếp cận nhiều cỏ ngon nhất có thể mà chỉ phải đi một quãng ngắn.

Cánh đồng của Bessie có \(N\) cụm cỏ (\(1 \le N \le 100\,000\)), có thể được xem như một trục số một chiều rất dài. Cụm cỏ thứ \(i\) chứa \(g_i\) đơn vị cỏ (\(1 \le g_i \le 10\,000\)) và nằm tại một điểm \(x_i\) riêng biệt trên cánh đồng (\(0 \le x_i \le 1\,000\,000\)). Bessie muốn chọn một điểm trên cánh đồng làm vị trí ban đầu (điểm này có thể trùng với một cụm cỏ) sao cho lượng cỏ nằm cách vị trí đó không quá \(K\) bước là lớn nhất (\(1 \le K \le 2\,000\,000\)).

Hãy giúp Bessie xác định lượng cỏ lớn nhất mà cô có thể tiếp cận nếu chọn vị trí ban đầu tối ưu.

Dữ liệu vào

  • Dòng đầu tiên chứa hai số nguyên \(N\)\(K\).
  • \(N\) dòng tiếp theo, dòng thứ \(i\) chứa hai số nguyên \(g_i\)\(x_i\), mô tả cụm cỏ thứ \(i\).

Ràng buộc

  • \(1 \le N \le 100\,000\).
  • \(1 \le g_i \le 10\,000\).
  • \(0 \le x_i \le 1\,000\,000\) và các giá trị \(x_i\) đôi một khác nhau.
  • \(1 \le K \le 2\,000\,000\).

Dữ liệu ra

In ra lượng cỏ lớn nhất nằm trong khoảng cách \(K\) tính từ vị trí tối ưu của Bessie.

Ví dụ

Ví dụ 1

Input
4 3
4 7
10 15
2 2
5 1
Output
11
Giải thích

Bessie nên đứng tại vị trí \(x=4\); khi đó cô có thể tiếp cận toàn bộ cỏ tại các vị trí \(x=1\), \(x=2\)\(x=7\).

Nguồn

USACO 2014 March Contest, Bronze — The Lazy Cow

Tác giả: Brian Dean, 2014.

Bình luận

Mới nhất
Tải bình luận...

Không có bình luận nào.

Kỳ thi: