Đoạn con tốt
Xem dạng PDF
Gửi bài giải
Điểm:
1,00 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
Input:
stdin
Output:
stdout
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch
Cho một mảng số nguyên ~a~ và một số nguyên dương ~k~. Hãy kiểm tra xem mảng có tồn tại một đoạn con tốt hay không.
Một đoạn con được gọi là tốt nếu: Độ dài của đoạn con ít nhất bằng 2 và tổng các phần tử trong đoạn con là bội số của ~k~.
Lưu ý
- Một đoạn con là một dãy các phần tử liên tiếp trong mảng.
- Một số nguyên ~x~ được gọi là bội số của ~k~ nếu tồn tại số nguyên ~n~ sao cho: ~x = n \times k~
- ~0~ luôn là bội số của mọi số nguyên ~k~.
Input
- Dòng đầu tiên chứa hai số nguyên ~n~ và ~k~.
- Dòng thứ hai chứa ~n~ số nguyên ~a_i~.
Output
- In ra
truenếu tồn tại đoạn con tốt. - Ngược lại in ra
false.
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 5 6 23 2 4 6 7 |
true | Đoạn con [2,4] có độ dài 2 và tổng bằng ~6~, là bội số của ~6~. |
| 5 6 23 2 6 4 7 |
true | Toàn bộ mảng có tổng bằng ~42~. Vì ~42 = 7 \times 6~ nên tổng chia hết cho ~6~. |
| 5 13 23 2 6 4 7 |
false | Không tồn tại đoạn con nào có độ dài ít nhất 2 và có tổng chia hết cho ~13~. |
Ràng buộc
- ~1 \le n \le 10^5~
- ~0 \le a_i \le 10^9~
- ~0 \le \sum a_i \le 2^{31} - 1~
- ~1 \le k \le 2^{31} - 1~
Bình luận