結果
問題 | No.116 門松列(1) |
ユーザー |
![]() |
提出日時 | 2017-08-10 16:01:10 |
言語 | OCaml (5.2.1) |
結果 |
AC
|
実行時間 | 2 ms / 5,000 ms |
コード長 | 421 bytes |
コンパイル時間 | 342 ms |
コンパイル使用メモリ | 21,704 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-10-09 00:09:09 |
合計ジャッジ時間 | 1,324 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 21 |
ソースコード
let read () = Scanf.scanf "%d " (fun i -> i) let check x y z = if x = y || y = z || z = x then false else if x < y && y < z then false else if x > y && y > z then false else true let () = let n = read () in let a = Array.init n (fun _ -> read ()) in let rec doit i cnt = if i = n then cnt else doit (i + 1) (cnt + if check a.(i-2) a.(i-1) a.(i) then 1 else 0) in doit 2 0 |> Printf.printf "%d\n"