Cho số nguyên \(w\) và dãy gồm \(n\) số nguyên dương \(a_{1},a_{2},\ldots,a_{n}\). Hãy xóa khỏi dãy số đã cho các số (có thể không cần xóa bất kì số nào) sao cho tổng các số còn lại trong dãy không vượt quá \(w\) và số lượng các số bị xóa là nhỏ nhất.
Dữ liệu vào:
+ Dòng đầu tiên ghi lần lượt hai số nguyên dương \(n,\ w\ (1 \leq n \leq 10^{5};0 \leq w \leq 10^{9})\);
+ Dòng thứ hai ghi lần lượt các số nguyên dương \(a_{1},a_{2},\ldots,a_{n}\) \((1 \leq a_{i} \leq 10^{9})\)
Kết quả:
+ Ghi một số nguyên cho biết số lượng các số ít nhất cần xóa để thỏa mãn yêu cầu bài toán.
Ví dụ:
Input | Output |
---|---|
5 10 3 2 6 1 3 | 1 |
Giải thích: Trong ví dụ trên chỉ cần xóa số 6 để các số còn lại có tổng: \(3 + 2 + 1 + 3 = 9 < 10\)
Ràng buộc:
+ Có 70% số test tương ứng với 70% số điểm có \(1 \leq n \leq 10^{3})\);
+ Có 30% số test còn lại tương ứng với 30% số điểm không có ràng buộc gì thêm.
Code tích cực |
---|
Trong 24h |
Trong 7 ngày |
|
Trong 30 ngày |
|
Thống kê |
---|
AC/Sub: 97887/180710 Pascal: 17121 C++: 130348 Python: 33199 Lượt xem/tải tests: 38905 |