結果
問題 | 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; }