結果
| 問題 |
No.135 とりあえず1次元の問題
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2020-08-18 14:59:47 |
| 言語 | OCaml (5.2.1) |
| 結果 |
TLE
|
| 実行時間 | - |
| コード長 | 706 bytes |
| コンパイル時間 | 401 ms |
| コンパイル使用メモリ | 21,560 KB |
| 実行使用メモリ | 20,600 KB |
| 最終ジャッジ日時 | 2024-10-09 02:01:54 |
| 合計ジャッジ時間 | 12,926 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | -- * 2 |
| other | TLE * 1 -- * 21 |
ソースコード
let () =
let rec unique_element list =
let rec _unique_element l s = match l with
| [] -> s
| first :: rest ->
if List.exists (fun e -> e = first) s then _unique_element rest s
else _unique_element rest (s @ [first])
in _unique_element list [] in
let n = Scanf.scanf "%d\n" (fun x -> x) in
let lst = Array.to_list (Array.init n (fun _ -> Scanf.scanf "%d " (fun x -> x))) in
let slst = unique_element (List.fast_sort compare lst) in
Printf.printf "%d\n"
(if List.length slst < 2 then 0
else fst (List.fold_left
(fun (ans, bfr) x -> if abs(bfr - x) < ans then (abs(bfr - x), x) else (ans, x))
(max_int, List.hd slst) (List.tl slst)))