fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. int main() {
  5. string a;
  6. cin >> a;
  7.  
  8. int totalA = 0, totalB = 0;
  9. int n = a.size();
  10.  
  11. for (char c : a) {
  12. if (c == 'a') totalA++;
  13. else totalB++;
  14. }
  15.  
  16. int mini = INT_MAX;
  17. bool found = false;
  18.  
  19. for (int i = 0; i < n; i++) {
  20. int countA = 0, countB = 0;
  21. for (int j = i; j < n; j++) {
  22. if (a[j] == 'a') countA++;
  23. else countB++;
  24.  
  25. int Ca = totalA - countA;
  26. int Cb = totalB - countB;
  27.  
  28. if (Ca == Cb) {
  29. found = true;
  30. mini = min(mini, j - i + 1);
  31. }
  32. }
  33. }
  34.  
  35. if (found)
  36. cout << "The minimum substring containing equal number of a and b is: " << mini;
  37. else
  38. cout << "No such substring exists.";
  39.  
  40. return 0;
  41. }
  42.  
Success #stdin #stdout 0.01s 5312KB
stdin
4
aabb
stdout
The minimum substring containing equal number of a and b is: 1