fork download
  1. #include<iostream>
  2. #include<vector>
  3. #include<algorithm>
  4. using namespace std;
  5.  
  6. int main(){
  7. ios::sync_with_stdio(false);
  8. cin.tie(nullptr);
  9. int t;
  10. cin >> t;
  11. while(t--){
  12. int a, b, ab, ba, con, cur = 0;
  13. string s;
  14. vector<int> AB, BA, X;
  15. cin >> s >> a >> b >> ab >> ba;
  16.  
  17. for(int i = 0; i < s.size(); i++){
  18. if(s[i] == 'A')a--;
  19. if(s[i] == 'B')b--;
  20. if(i == 0 || s[i] != s[i-1]){
  21. if(con % 2)X.push_back(con / 2);
  22. else{
  23. if(cur)BA.push_back(con / 2);
  24. else AB.push_back(con / 2);
  25. }
  26. if(s[i] == 'A')cur = 0;
  27. if(s[i] == 'B')cur = 1;
  28. con = 1;
  29. }
  30. else{
  31. con++;
  32. }
  33. }
  34.  
  35. sort(BA.begin(), BA.end());
  36. sort(AB.begin(), AB.end());
  37. sort(X.begin(), X.end());
  38.  
  39. for(int i = 0; i < BA.size(); i++){
  40. cout << BA[i] << " ";
  41. if(ba >= BA[i]){
  42. ba -= BA[i];
  43. a += BA[i];
  44. b += BA[i];
  45. }
  46. else if(ab >= BA[i]){
  47. ab -= BA[i];
  48. a += BA[i];
  49. b += BA[i];
  50. }
  51. }
  52. cout << "\n";
  53. for(int i = 0; i < AB.size(); i++){
  54. cout << AB[i] << " ";
  55.  
  56. if(ba >= AB[i]){
  57. ba -= AB[i];
  58. a += AB[i];
  59. b += AB[i];
  60. }
  61. else if(ab >= AB[i]){
  62. ab -= AB[i];
  63. a += AB[i];
  64. b += AB[i];
  65. }
  66. }
  67. cout << "\n";
  68. for(int i = 0; i < X.size(); i++){
  69. cout << X[i] << " ";
  70.  
  71. if(ba >= X[i]){
  72. ba -= X[i];
  73. a += X[i];
  74. b += X[i];
  75. }
  76. else if(ab >= X[i]){
  77. ab -= X[i];
  78. a += X[i];
  79. b += X[i];
  80. }
  81. }
  82. cout << "\n";
  83. if(a < 0 || b < 0)cout << "No\n";
  84. else cout << "Yes\n";
  85. }
  86.  
  87. }
Success #stdin #stdout 0.01s 5288KB
stdin
7
A
0 0 10 10
B
0 1 0 0
ABA
0 0 1 1
ABBABAAB
5 5 0 0
ABABBAABBAAB
1 1 2 3
ABBBBAB
0 3 2 0
BAABBA
1 3 2 0
stdout
-414491680 

No


0 
Yes


0 0 0 
No
1 
1 
0 0 0 0 
Yes
1 1 
1 1 
0 0 0 0 
No
2 

0 0 0 
Yes
1 
1 
0 0 
Yes