Clue Contest 07 - Chia hết

View as PDF

Submit solution

Points: 10.00 (partial)
Time limit: 1.0s
Memory limit: 1G
Input: stdin
Output: stdout

Problem type
Allowed languages
C, C++, Java, Pascal, PyPy, Python, Scratch, TEXT

Cho dãy số ~a_1, a_2, ..., a_n~ và một số nguyên dương ~k~. Hỏi có tồn tại một cách chọn đúng ~k~ số trong dãy số ~a~ sao cho tổng các số đó chia hết cho 3 không?

INPUT

Dòng đầu tiên chứa số nguyên dương ~T~ là số test (~1 ≤ T ≤ 3 \times 10^5~). Sau đó là ~T~ bộ test như sau:

  • Dòng đầu tiên mỗi test chứa hai số nguyên dương ~n,~ ~k~ (~1 \le k \le n ≤ 3 \times 10^5~).
  • Dòng thứ hai mỗi test chứa ~n~ số nguyên dương ~a_1, a_2, ..., a_n~ (~0 \le a_i \le 10^9~)

Dữ liệu đầu vào đảm bảo rằng tổng ~n~ trong tất cả các test không vượt quá ~3 \times 10^5~

OUTPUT

In ra ~T~ dòng, mỗi dòng ghi YES nếu tồn tại cách chọn thỏa mãn, ngược lại ghi NO.

SAMPLE INPUT

2
6 2
0 4 2 3 1 5
5 2
0 1 1 1 2

SAMPLE OUTPUT

YES
YES

Giải thích: Ở test 1, có thể chọn các số 0 và 3 để tạo ra tổng bằng 3.

SUBTASKS

Subtask Điểm Ràng buộc
1 ~250~ Không tồn tại ~i~ sao cho ~a_i~ chia ~3~ dư ~2~.
2 ~500~ Không có ràng buộc gì thêm.

Comments

Please read the guidelines before commenting.


There are no comments at the moment.