#include #include #include using namespace std; int main() { string S; cin >> S; unordered_map firstOccur; int balance = 0; int maxLen = 0; // ?????balance=0 ????? -1?????? firstOccur[0] = -1; for (int i = 0; i < S.length(); i++) { if (S[i] == 'A') { balance++; } else { // S[i] == 'B' balance--; } if (firstOccur.find(balance) != firstOccur.end()) { // ?????????? balance?????????? maxLen = max(maxLen, i - firstOccur[balance]); } else { // ??????? balance????? firstOccur[balance] = i; } } cout << maxLen << endl; return 0; }