USACO 2018 - Lemonade Line

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: 1200 (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 ở trang trại, và bác nông dân John đang phục vụ nước chanh cho \(N\) cô bò! Cả \(N\) cô bò (được đánh số thuận tiện từ \(1 \dots N\)) đều thích nước chanh, nhưng có cô thích hơn những cô khác. Cụ thể, bò \(i\) sẵn lòng đứng trong hàng với nhiều nhất \(w_i\) cô bò đứng trước mình để nhận nước chanh. Hiện tại, cả \(N\) cô bò đều đang ở ngoài đồng, nhưng ngay khi bác nông dân John rung chuông gọi bò, chúng sẽ lập tức kéo đến quầy nước chanh của ông. Tất cả sẽ đến trước khi ông bắt đầu phục vụ, nhưng không có hai cô bò nào đến cùng một lúc. Hơn nữa, khi bò \(i\) đến, cô ấy sẽ vào hàng khi và chỉ khi trong hàng hiện có không quá \(w_i\) cô bò.

Bác nông dân John muốn chuẩn bị trước một lượng nước chanh nhưng không muốn lãng phí. Số cô bò vào hàng có thể phụ thuộc vào thứ tự chúng đến. Hãy giúp ông tìm số cô bò ít nhất có thể vào hàng.

Dữ liệu vào

Dòng đầu tiên chứa \(N\), và dòng thứ hai chứa \(N\) số nguyên cách nhau bởi dấu cách \(w_1, w_2, \dots, w_N\). Bảo đảm rằng \(1 \leq N \leq 10^5\)\(0 \leq w_i \leq 10^9\) với mỗi bò \(i\).

Dữ liệu ra

Trong tất cả các thứ tự mà đàn bò có thể đến, in ra số cô bò ít nhất có thể vào hàng.

Ví dụ

Ví dụ 1

Input
5
7 1 400 2 2
Output
3
Giải thích

Trong tình huống này, có thể chỉ ba cô bò vào hàng, và đây là số lượng nhỏ nhất có thể. Giả sử hai cô bò có \(w = 7\)\(w = 400\) đến trước rồi đứng chờ trong hàng. Tiếp theo, cô bò có \(w = 1\) đến và bỏ đi vì trong hàng đã có 2 cô bò. Sau đó, hai cô bò có \(w = 2\) lần lượt đến; một cô ở lại và một cô bỏ đi.

Nguồn

USACO 2018 US Open Contest, Silver — Lemonade Line

Tác giả bài toán: Dhruv Rohatgi.

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: