Dãy con ngắn nhất
Đề bài
Mô tả
Dãy số được lập theo qui tắc sau: , , với mọi . Ở đây phép toán là phép lấy phần dư khi chia cho (phép % trong ngôn ngữ C++ và Python).
Cho số nguyên dương .
Yêu cầu: Hãy tìm dãy con có số lượng phần tử nhỏ nhất sao cho: .
Dữ liệu vào
Một dòng duy nhất chứa số nguyên cách nhau bằng khoảng trống.
Dữ liệu ra
Một số nguyên duy nhất là số lượng phần tử của dãy con tìm được. Nếu không tồn tại dãy con thoả mãn thì in .
Ràng buộc
- .
- .
- .
- .
Subtasks
- Subtask 1 ( số điểm): .
- Subtask 2 ( số điểm): .
- Subtask 3 ( số điểm): không có ràng buộc gì thêm.
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 10 1 1 7 19 | 5 | Dãy số được tạo ra là . Dãy con ngắn nhất có tổng lớn hơn hoặc bằng là . |
| 6 0 3 5 10 | 4 | (Ví dụ bổ sung.) Dãy số là . Dãy con ngắn nhất có tổng không nhỏ hơn là (tổng ). |
Bình luận