結果
問題 | No.178 美しいWhitespace (1) |
ユーザー |
|
提出日時 | 2016-10-07 00:22:41 |
言語 | OCaml (5.2.1) |
結果 |
AC
|
実行時間 | 4 ms / 2,000 ms |
コード長 | 610 bytes |
コンパイル時間 | 266 ms |
コンパイル使用メモリ | 21,444 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-10-08 23:51:22 |
合計ジャッジ時間 | 1,187 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 21 |
ソースコード
let solve n abArr = let a4bArr = Array.map (fun (a, b) -> a + 4 * b) abArr in Array.sort compare a4bArr; let maxAb = a4bArr.(n - 1) in let rec solve' idx result = if idx >= n then result else let c2 = maxAb - a4bArr.(idx) in if c2 mod 2 <> 0 then -1 else solve' (idx + 1) (c2 / 2 + result) in solve' 0 0 let () = let n = read_int () in let abArr = Array.make n (0, 0) in let rec readAb i = if i < n then (Scanf.scanf "%d %d\n" (fun a b -> abArr.(i) <- (a, b)); readAb (i + 1)) in readAb 0; solve n abArr |> print_int; print_newline ()