結果
問題 |
No.406 鴨等間隔の法則
|
ユーザー |
|
提出日時 | 2020-07-25 21:33:54 |
言語 | OCaml (5.2.1) |
結果 |
AC
|
実行時間 | 58 ms / 2,000 ms |
コード長 | 456 bytes |
コンパイル時間 | 399 ms |
コンパイル使用メモリ | 21,704 KB |
実行使用メモリ | 7,552 KB |
最終ジャッジ日時 | 2024-10-09 01:50:31 |
合計ジャッジ時間 | 2,913 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 29 |
ソースコード
let () = Scanf.scanf "%d\n" @@ fun n -> let xrr = Array.init n @@ fun _ -> Scanf.scanf "%d " @@ fun d -> d in let () = Array.fast_sort compare xrr in let diff = xrr.(1) - xrr.(0) in let arr = Array.sub xrr 1 (Array.length xrr - 1) in let ans = Array.fold_left (fun (b, bfr) n -> if n - bfr = diff then (b && true, n) else (b && false, n)) (true, xrr.(0)) arr in Printf.printf "%s\n" (if diff <> 0 && fst ans then "YES" else "NO")