#include <stdio.h>
#include <string.h>
int max_balanced_substrings(const char *s) {
int countX = 0, countY = 0;
int maxBalancedCount = 0;
for (int i = 0; i < length; i++) {
if (s[i] == 'X') {
countX++;
} else if (s[i] == 'Y') {
countY++;
}
// Check if the current substring is balanced
if (countX == countY) {
maxBalancedCount++;
// Reset counters for the next substring
countX = 0;
countY = 0;
}
}
return maxBalancedCount;
}
int main() {
const char *input = "XXYYXY";
printf("%d\n", max_balanced_substrings
(input
)); // Output: 2 return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdHJpbmcuaD4KIAppbnQgbWF4X2JhbGFuY2VkX3N1YnN0cmluZ3MoY29uc3QgY2hhciAqcykgewogICAgaW50IGNvdW50WCA9IDAsIGNvdW50WSA9IDA7CiAgICBpbnQgbWF4QmFsYW5jZWRDb3VudCA9IDA7CiAgICBpbnQgbGVuZ3RoID0gc3RybGVuKHMpOwogCiAgICBmb3IgKGludCBpID0gMDsgaSA8IGxlbmd0aDsgaSsrKSB7CiAgICAgICAgaWYgKHNbaV0gPT0gJ1gnKSB7CiAgICAgICAgICAgIGNvdW50WCsrOwogICAgICAgIH0gZWxzZSBpZiAoc1tpXSA9PSAnWScpIHsKICAgICAgICAgICAgY291bnRZKys7CiAgICAgICAgfQogCiAgICAgICAgLy8gQ2hlY2sgaWYgdGhlIGN1cnJlbnQgc3Vic3RyaW5nIGlzIGJhbGFuY2VkCiAgICAgICAgaWYgKGNvdW50WCA9PSBjb3VudFkpIHsKICAgICAgICAgICAgbWF4QmFsYW5jZWRDb3VudCsrOwogICAgICAgICAgICAvLyBSZXNldCBjb3VudGVycyBmb3IgdGhlIG5leHQgc3Vic3RyaW5nCiAgICAgICAgICAgIGNvdW50WCA9IDA7CiAgICAgICAgICAgIGNvdW50WSA9IDA7CiAgICAgICAgfQogICAgfQogCiAgICByZXR1cm4gbWF4QmFsYW5jZWRDb3VudDsKfQogCmludCBtYWluKCkgewogICAgY29uc3QgY2hhciAqaW5wdXQgPSAiWFhZWVhZIjsKICAgIHByaW50ZigiJWRcbiIsIG1heF9iYWxhbmNlZF9zdWJzdHJpbmdzKGlucHV0KSk7ICAvLyBPdXRwdXQ6IDIKICAgIHJldHVybiAwOwp9