USACO 2018 - Talent Show

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: 1900 (p) Thời gian: 4.0s Bộ nhớ: 512M Input: bàn phím Output: màn hình

Bác nông dân John đưa \(N\) cô bò, được đánh số thuận tiện từ \(1 \ldots N\), đến hội chợ của hạt để tham gia cuộc thi tài năng bò thường niên! Cô bò thứ \(i\) có cân nặng \(w_i\) và mức tài năng \(t_i\), đều là các số nguyên.

Khi đến nơi, bác nông dân John khá bất ngờ trước các quy tắc mới của cuộc thi tài năng năm nay:

(i) Phải đưa vào cuộc thi một nhóm bò có tổng cân nặng ít nhất \(W\) (để bảo đảm rằng các đội bò mạnh tham gia tranh tài, chứ không chỉ những cá thể mạnh).

(ii) Nhóm có tỷ lệ tổng tài năng trên tổng cân nặng lớn nhất sẽ chiến thắng.

Bác nông dân John nhận thấy tổng cân nặng của tất cả các cô bò ít nhất là \(W\), nên ông có thể đưa vào thi một đội thỏa mãn điều kiện thứ nhất. Hãy giúp ông xác định tỷ lệ tài năng trên cân nặng tối ưu có thể đạt được với một đội như vậy.

Dữ liệu vào

Dòng đầu tiên chứa \(N\) (\(1 \leq N \leq 250\)) và \(W\) (\(1 \leq W \leq 1000\)). Mỗi dòng trong \(N\) dòng tiếp theo mô tả một cô bò bằng hai số nguyên \(w_i\) (\(1 \leq w_i \leq 10^6\)) và \(t_i\) (\(1 \leq t_i \leq 10^3\)).

Dữ liệu ra

Hãy xác định tỷ lệ lớn nhất có thể giữa tổng tài năng và tổng cân nặng mà bác nông dân John có thể đạt được bằng cách chọn một nhóm bò có tổng cân nặng ít nhất \(W\). Nếu đáp án là \(A\), hãy in \(\lfloor 1000A \rfloor\) để kết quả là một số nguyên. Phép lấy phần nguyên loại bỏ phần thập phân bằng cách làm tròn xuống tới một số nguyên nếu số đang xét chưa phải là số nguyên.

Ví dụ

Ví dụ 1

Input
3 15
20 21
10 11
30 31
Output
1066
Giải thích

Trong ví dụ này, xét trên toàn bộ các cách chọn thì tỷ lệ tài năng trên cân nặng tốt nhất đạt được khi chỉ chọn cô bò có tài năng 11 và cân nặng 10. Tuy nhiên, vì tổng cân nặng phải ít nhất là 15, phương án tối ưu là chọn cô bò này cùng cô bò có tài năng 21 và cân nặng 20. Khi đó tỷ lệ tài năng trên cân nặng là

\[ \frac{11+21}{10+20}=\frac{32}{30}=1.0666666\ldots, \]

nhân với 1000 rồi làm tròn xuống sẽ được 1066.

Nguồn

USACO 2018 US Open Contest, Gold — Talent Show

Tác giả bài toán: Brian Dean.

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: