結果
問題 |
No.672 最長AB列
|
ユーザー |
|
提出日時 | 2018-04-15 23:14:11 |
言語 | Scala(Beta) (3.6.2) |
結果 |
WA
|
実行時間 | - |
コード長 | 636 bytes |
コンパイル時間 | 9,005 ms |
コンパイル使用メモリ | 258,736 KB |
実行使用メモリ | 64,984 KB |
最終ジャッジ日時 | 2024-06-30 06:02:07 |
合計ジャッジ時間 | 28,256 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 WA * 1 |
other | AC * 8 WA * 8 |
ソースコード
import java.util.Scanner object Main { def max(a: Int, b: Int): Int = { if (a < b) b else a } def min(a: Int, b: Int): Int = { if (a < b) a else b } def solve(sc: => Scanner): Unit = { val s = sc.next val (_, _, _, mn, _) = (s + ' ').foldLeft((0, 0, 0, 0, ' '))((acc, c) => (acc, c) match { case ((cn, pn, p2n, mn, pc), c) if pc != c => (1, cn, pn, max(mn, min(cn+p2n, pn)), c) case ((cn, pn, p2n, mn, pc), c) => (cn + 1, pn, p2n, mn, c) }) println(mn*2) } def main(args: Array[String]): Unit = { val sc: Scanner = new Scanner(System.in) solve(sc) } }