結果
| 問題 | No.588 空白と回文 | 
| コンテスト | |
| ユーザー |  dptbl | 
| 提出日時 | 2017-11-03 22:44:05 | 
| 言語 | D (dmd 2.109.1) | 
| 結果 | 
                                AC
                                 
                             | 
| 実行時間 | 3 ms / 2,000 ms | 
| コード長 | 1,025 bytes | 
| コンパイル時間 | 780 ms | 
| コンパイル使用メモリ | 100,136 KB | 
| 実行使用メモリ | 6,944 KB | 
| 最終ジャッジ日時 | 2024-06-12 22:18:22 | 
| 合計ジャッジ時間 | 1,619 ms | 
| ジャッジサーバーID (参考情報) | judge1 / judge5 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| other | AC * 25 | 
コンパイルメッセージ
Main.d(19): Deprecation: foreach: loop index implicitly converted from `size_t` to `int`
ソースコード
import core.bitop;
import std.algorithm;
import std.array;
import std.ascii;
import std.container;
import std.conv;
import std.format;
import std.math;
import std.random;
import std.range;
import std.stdio;
import std.string;
import std.typecons;
void main()
{
  string s = readln.chomp;
  int ans = 0;
  foreach (int i, c; s) {
    int sub = 0;
    foreach (int j; 0..cast(int)s.length) {
      int left = i - j;
      if (left < 0) {
        break;
      }
      int right = i + j;
      if (right >= s.length) {
        break;
      }
      // stderr.writeln("\t", s[left], s[right], s[left] == s[right]);
      sub += s[left] == s[right];
    }
    // stderr.writeln(i, " ", sub);
    ans = max(ans, sub * 2 - 1);
    int sub2 = 0;
    foreach (int j; 0..cast(int)s.length) {
      int left = i - j - 1;
      if (left < 0) {
        break;
      }
      int right = i + j;
      if (right >= s.length) {
        break;
      }
      sub2 += s[left] == s[right];
    }
    ans = max(ans, sub2 * 2);
  }
  ans.writeln;
}
            
            
            
        