結果
問題 | No.482 あなたの名は |
ユーザー | ichibanshibori |
提出日時 | 2017-02-11 02:19:18 |
言語 | OCaml (5.1.0) |
結果 |
CE
(最新)
AC
(最初)
|
実行時間 | - |
コード長 | 1,080 bytes |
コンパイル時間 | 210 ms |
コンパイル使用メモリ | 16,896 KB |
最終ジャッジ日時 | 2024-11-14 19:58:11 |
合計ジャッジ時間 | 1,439 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
コンパイルエラー時のメッセージ・ソースコードは、提出者また管理者しか表示できないようにしております。(リジャッジ後のコンパイルエラーは公開されます)
ただし、clay言語の場合は開発者のデバッグのため、公開されます。
ただし、clay言語の場合は開発者のデバッグのため、公開されます。
コンパイルメッセージ
File "Main.ml", line 1, characters 5-8: 1 | open Num ^^^ Error: Unbound module Num
ソースコード
open Num let solve k darr = let len_darr = Array.length darr in let chk_darr = Array.make len_darr false in let rec get_len_loop start current result = chk_darr.(current) <- true; let next = darr.(current) in if next = start then result else get_len_loop start next (result + 1) in let rec get_len_loop_sum idx result = if idx >= len_darr then result else ( if chk_darr.(idx) then get_len_loop_sum (idx + 1) result else let len_loop = get_len_loop idx idx 0 in get_len_loop_sum (idx + 1) (result + len_loop) ) in let len_loop = get_len_loop_sum 0 0 |> num_of_int in k >=/ len_loop && mod_num (k -/ len_loop) (Int 2) = (Int 0) let () = let k = read_line () |> fun l -> Scanf.sscanf l "%s %s" (fun s1 s2 -> num_of_string s2) and darr = read_line () |> Str.split (Str.regexp_string " ") |> List.map int_of_string |> List.map (( + ) (-1)) |> Array.of_list in solve k darr |> (function | true -> "YES" | false -> "NO") |> print_endline