結果
問題 |
No.672 最長AB列
|
ユーザー |
|
提出日時 | 2018-05-07 11:45:18 |
言語 | C++17(clang) (17.0.6 + boost 1.87.0) |
結果 |
TLE
|
実行時間 | - |
コード長 | 921 bytes |
コンパイル時間 | 901 ms |
コンパイル使用メモリ | 129,264 KB |
実行使用メモリ | 10,496 KB |
最終ジャッジ日時 | 2024-11-30 12:22:09 |
合計ジャッジ時間 | 28,680 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 7 TLE * 9 |
ソースコード
#include <iostream> #include <string> #include <algorithm> using namespace std; int solve(string s) { int r = 0; int aid, bid; do { aid = -1, bid = -1; for (int i = 0; i < s.length(); i++) { if (s[i] == 'A') { aid = i; } else if (s[i] == 'B') { bid = i; } if (aid != -1 && bid != -1) { s[aid] = 'C'; s[bid] = 'C'; break; } } } while(aid != -1 && bid != -1); for (int i = 0, count = 0; i < s.length(); i++) { if (s[i] == 'C') { count++; } else { count = 0; } if (count > r) { r = count; } } return r; } int main() { string s; cin >> s; string rs = s; reverse(rs.begin(), rs.end()); cout << max(solve(s), solve(rs)) << endl; }