結果
問題 |
No.1512 作文
|
ユーザー |
|
提出日時 | 2021-05-22 09:02:35 |
言語 | Kuin (KuinC++ v.2021.9.17) |
結果 |
AC
|
実行時間 | 45 ms / 2,000 ms |
コード長 | 699 bytes |
コンパイル時間 | 2,414 ms |
コンパイル使用メモリ | 147,852 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-09-16 12:33:00 |
合計ジャッジ時間 | 5,023 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 38 |
ソースコード
func main() var n: int :: cui@inputInt() var map: dict<int, int> :: #dict<int, int> for loop(1, n) var s: []char :: cui@input() for i(1, ^s - 1) if(s[i] < s[i - 1]) skip loop end if end for var cStart: int :: s[0] $ int - 'a' $ int var cEnd: int :: s[^s - 1] $ int - 'a' $ int var len: int :: ^s var id: int :: cStart + cEnd * 26 if(cStart = cEnd) do map.add(id, map.get(id, &) + len) else do map.add(id, [map.get(id, &), len].max()) end if end for var dp: []int :: #[26]int for cs(0, 25) for ce(cs, 25) do dp[ce] :: [dp[ce], dp[cs] + map.get(cs + ce * 26, &)].max() end for end for var ans: int :: dp[25] do cui@print("\{ans}\n") end func