結果

問題 No.588 空白と回文
ユーザー rpy3cpp
提出日時 2017-11-03 23:13:10
言語 C++14
(gcc 8.2.0)
結果
AC  
実行時間 5 ms
コード長 678 Byte
コンパイル時間 1,397 ms
使用メモリ 1,520 KB
最終ジャッジ日時 2018-11-10 10:51:50

テストケース

テストケース表示
入力 結果 実行時間
使用メモリ
0.txt AC 2 ms
1,484 KB
1.txt AC 3 ms
1,480 KB
2.txt AC 3 ms
1,480 KB
3.txt AC 4 ms
1,516 KB
4.txt AC 4 ms
1,480 KB
5.txt AC 3 ms
1,484 KB
6.txt AC 4 ms
1,512 KB
7.txt AC 2 ms
1,480 KB
8.txt AC 3 ms
1,504 KB
9.txt AC 2 ms
1,480 KB
10.txt AC 3 ms
1,504 KB
11.txt AC 4 ms
1,516 KB
12.txt AC 3 ms
1,516 KB
13.txt AC 4 ms
1,504 KB
14.txt AC 3 ms
1,480 KB
15.txt AC 3 ms
1,508 KB
16.txt AC 3 ms
1,480 KB
17.txt AC 5 ms
1,516 KB
18.txt AC 3 ms
1,508 KB
19.txt AC 4 ms
1,480 KB
20.txt AC 4 ms
1,516 KB
21.txt AC 5 ms
1,520 KB
22.txt AC 5 ms
1,516 KB
23.txt AC 5 ms
1,516 KB
24.txt AC 2 ms
1,508 KB
テストケース一括ダウンロード

ソースコード

diff #
#include <bits/stdc++.h>
using namespace std;

int calc(int m, const string & S){
    int ans = 1;
    for (int a = m - 1, b = m + 1; a >= 0 and b < S.size(); --a, ++b){
        if (S[a] == S[b]) ans += 2;
    }
    return ans;
}

int calc2(int n, const string & S){
    int ans = 0;
    for (int a = n, b = n + 1; a >= 0 and b < S.size(); --a, ++b){
        if (S[a] == S[b]) ans += 2;
    }
    return ans;
}

int main(){
    string S;
    cin >> S;
    int ans = 0;
    for (int m = 0; m < S.size(); ++m){
        ans = max(ans, calc(m, S));
    }
    for (int n = 0; n + 1 < S.size(); ++n){
        ans = max(ans, calc2(n, S));
    }
    cout << ans << endl;
    return 0;
}
0