fork download
  1. #include <bits/stdc++.h>
  2. #include <chrono>
  3. #define int long long
  4. #define all(x) x.begin(), x.end()
  5. #define f1(i, n) for(int i=1;i<=n;++i)
  6. using namespace std;
  7. using namespace chrono;
  8.  
  9. const int maxn = 3e5 + 5;
  10. const int MOD = 1e9 + 7;
  11.  
  12. int A[maxn], cnt[maxn];
  13.  
  14. main() {
  15. ios::sync_with_stdio(false);
  16. cin.tie(nullptr);
  17. cout.tie(nullptr);
  18.  
  19. int q;
  20. cin >> q;
  21. while (q--) {
  22. int n, k;
  23. cin >> n >> k;
  24. cnt[0] = cnt[1] = cnt[2] = 0;
  25. f1(i, n) {cin >> A[i]; cnt[A[i] % 3]++;}
  26. k = max(0ll, k - cnt[0]);
  27. int mi = min(cnt[1], cnt[2]);
  28. k = max(0ll, k - mi);
  29. cnt[1] -= mi; cnt[2] -= mi;
  30. if (k == 0) {cout << "YES" << "\n"; continue;}
  31. if (k % 3 == 0) {
  32. if (cnt[1] >= k || cnt[2] >= k) {
  33. cout << "YES" << "\n";
  34. }
  35. else cout << "NO" << "\n";
  36. }
  37. else {
  38. cout << "NO" << "\n";
  39. }
  40. }
  41.  
  42.  
  43.  
  44. }
  45.  
  46.  
Success #stdin #stdout 0s 5304KB
stdin
Standard input is empty
stdout
NO