Gửi bài giải
Điểm:
10,00 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
1G
Input:
stdin
Output:
stdout
Dạng bài
Ngôn ngữ cho phép
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. |
Bình luận