結果
| 問題 |
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")