結果

問題 No.273 回文分解
ユーザー htensai
提出日時 2019-11-23 15:11:33
言語 Java
(openjdk 23)
結果
WA  
実行時間 -
コード長 946 bytes
コンパイル時間 2,197 ms
コンパイル使用メモリ 77,060 KB
実行使用メモリ 54,056 KB
最終ジャッジ日時 2024-10-11 06:59:13
合計ジャッジ時間 7,979 ms
ジャッジサーバーID
(参考情報)
judge5 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 29 WA * 3
権限があれば一括ダウンロードができます

ソースコード

diff #

import java.util.*;

public class Main {
	public static void main (String[] args) {
		Scanner sc = new Scanner(System.in);
		char[] arr = sc.next().toCharArray();
		int max1 = 1;
		int max2 = 1;
		for (int  i = 1; i < arr.length - 1; i++) {
		    int count = 0;
		    int idx = 1;
		    while(i - idx >= 0 && i + idx < arr.length && arr[i - idx] == arr[i + idx]) {
		        count++;
		        idx++;
		    }
		    max1 = Math.max(max1, count * 2 + 1);
		    count = 0;
		    idx = 1;
		    while(i - idx + 1 >= 0 && i + idx < arr.length && arr[i - idx + 1] == arr[i + idx]) {
		        count++;
		        idx++;
		    }
		    max2 = Math.max(max2, count * 2);
		}
		if (arr.length % 2 == 0 && max2 == arr.length) {
		    System.out.println(Math.max(max1, max2 - 2));
		} else if (arr.length % 2 == 1 && max1 == arr.length) {
		    System.out.println(Math.max(max1 - 2, max1));
		} else {
		    System.out.println(Math.max(max1, max2));
		}
	}
}
0