Xóa đoạn
Đề bài
Mô tả
Cho dãy số nguyên gồm phần tử và số nguyên . Bạn có thể xóa đi một đoạn con liên tiếp bất kì trong dãy, tức là chọn hai chỉ số với và xóa các phần tử . Quy ước: nếu xóa hết dãy thì tổng còn lại bằng .
Yêu cầu: Tìm độ dài nhỏ nhất của đoạn con cần xóa sao cho tổng các phần tử còn lại của dãy không vượt quá . Nếu không cần xóa đoạn nào (tổng cả dãy đã không vượt quá ) thì kết quả là ; nếu không có cách xóa nào thỏa mãn thì kết quả là .
Dữ liệu vào
- Dòng đầu tiên chứa số nguyên dương .
- Dòng thứ hai chứa số nguyên .
- Dòng thứ ba chứa số nguyên .
Dữ liệu ra
In ra một số nguyên là kết quả của bài toán.
Ràng buộc
- .
- .
- .
Subtasks
- số test ứng với số điểm: , .
- số test tiếp theo ứng với số điểm: , .
- số test tiếp theo ứng với số điểm: .
- số test còn lại ứng với số điểm: không có ràng buộc gì thêm.
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 5 4 -5 4 4 -2 0 |
2 | Xóa đoạn (vị trí đến ), tổng còn lại . Xóa một phần tử bất kì thì tổng còn lại ít nhất là . |
| 3 4 2 1 0 |
3 | Phải xóa cả dãy, tổng còn lại bằng . |
| 3 1 2 3 -2 |
-1 | Mọi cách xóa đều để lại tổng không âm, lớn hơn . |
| 3 1 2 0 5 |
0 | Tổng cả dãy là , không cần xóa. |
Bình luận