fork download
  1. #include <iostream>
  2. #include <vector>
  3. using namespace std;
  4.  
  5. int main() {
  6. ios::sync_with_stdio(false);
  7. cin.tie(nullptr);
  8.  
  9. int T;
  10. cin >> T;
  11. while (T--) {
  12. int n;
  13. cin >> n;
  14. vector<int> s(n);
  15. int cnt0 = 0, cnt1 = 0, cnt2 = 0;
  16. for (int i = 0; i < n; ++i) {
  17. cin >> s[i];
  18. if (s[i] == 0) cnt0++;
  19. else if (s[i] == 1) cnt1++;
  20. else cnt2++;
  21. }
  22. int a, b, c;
  23. cin >> a >> b >> c;
  24.  
  25. int res = 0;
  26. // 第一步:用b(1)匹配Bob的0
  27. int win = min(b, cnt0);
  28. res += win;
  29. b -= win;
  30. cnt0 -= win;
  31.  
  32. // 第二步:用c(2)匹配Bob的1
  33. win = min(c, cnt1);
  34. res += win;
  35. c -= win;
  36. cnt1 -= win;
  37.  
  38. // 第三步:用a(0)匹配Bob的2
  39. win = min(a, cnt2);
  40. res += win;
  41.  
  42. cout << res << '\n';
  43. }
  44. return 0;
  45. }
Success #stdin #stdout 0.01s 5288KB
stdin
3
5
01201
221
3
222
300
4
0122
112
stdout
4
5
5