結果
問題 | No.672 最長AB列 |
ユーザー |
|
提出日時 | 2018-04-22 12:52:18 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
TLE
|
実行時間 | - |
コード長 | 796 bytes |
コンパイル時間 | 644 ms |
コンパイル使用メモリ | 66,152 KB |
実行使用メモリ | 10,752 KB |
最終ジャッジ日時 | 2024-06-27 20:27:44 |
合計ジャッジ時間 | 4,312 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 9 TLE * 1 -- * 6 |
ソースコード
#include <iostream> #include <string> using namespace std; int getMaxLen(string S) { int i; int maxLen=0; string maxString; int aNum=0,bNum=0; int len=1; for (i=0;i<S.size();i++){ if (S[i]=='A'){ aNum++; }else{ bNum++; } if (aNum==bNum){ if (maxLen<i+1){ maxLen=i+1; } } } return maxLen; } int main(int argc, char* argv[]) { string S; cin>>S; int len=S.size(); int aNum=0,bNum=0; int i=0; for (i=0;i<len;i++){ if (S[i]=='A'){ aNum++; }else{ bNum++; } } if (aNum==0 || bNum==0){ cout<<0<<endl; return 0; }else if (aNum==bNum){ cout<<len<<endl; return 0; } int MaxLen=0; char *p=(char*)S.c_str(); while (*p!='\0'){ int maxLen=getMaxLen(p); if (maxLen>MaxLen){ MaxLen=maxLen; } p++; } cout<<MaxLen<<endl; return 0; }