結果

問題 No.1109 調の判定
コンテスト
ユーザー maimai8
提出日時 2020-09-09 12:31:10
言語 OCaml
(5.4.1)
コンパイル:
ocamlfind ocamlopt -linkpkg -package zarith,str _filename_ -o a.out
実行:
./a.out
結果
WA  
実行時間 -
コード長 429 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 228 ms
コンパイル使用メモリ 22,796 KB
実行使用メモリ 6,400 KB
最終ジャッジ日時 2026-04-25 05:28:52
合計ジャッジ時間 2,062 ms
ジャッジサーバーID
(参考情報)
judge1_0 / judge3_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 41 WA * 2
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

let () =
  Scanf.scanf "%d\n" @@ fun n ->
  let t = Array.init n @@ fun _ -> Scanf.scanf "%d " @@ fun d -> d in
  let check d x =
    if List.mem ((x-d+12) mod 12) [0;2;4;5;7;9;11] then true else false in
  let num = ref [] in
  for i = 0 to 12 do
    let b = Array.fold_left (fun b x -> b && (check i x)) true t in
    if b then num := i :: !num
  done;
  Printf.printf "%d\n" (if List.length !num = 1 then List.hd !num else -1)
0