Đ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 true nế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

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.