結果

問題 No.672 最長AB列
ユーザー Pachicobue
提出日時 2018-04-13 22:35:17
言語 C++17
(gcc 13.3.0 + boost 1.87.0)
結果
WA  
実行時間 -
コード長 539 bytes
コンパイル時間 864 ms
コンパイル使用メモリ 79,040 KB
最終ジャッジ日時 2025-01-05 10:03:44
ジャッジサーバーID
(参考情報)
judge5 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 10 WA * 6
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <iostream>
#include <map>
using namespace std;
int main()
{
    map<int, int> left;
    map<int, int> right;
    string s;
    cin >> s;
    int ans = 0;
    left[0] = 0;
    for (int i = 0; i < s.size(); i++) {
        ans += (s[i] == 'A' ? 1 : -1);
        if (left.find(ans) == left.end()) {
            left[ans] = i;
        }
        right[ans] = i;
    }
    ans = 0;
    const int N = s.size();
    for (int i = -N; i < N; i++) {
        ans = max(ans, right[i] - left[i]);
    }
    cout << ans << endl;

    return 0;
}
0