結果
| 問題 |
No.1146 土偶Ⅰ
|
| ユーザー |
|
| 提出日時 | 2020-08-15 13:49:02 |
| 言語 | OCaml (5.2.1) |
| 結果 |
AC
|
| 実行時間 | 10 ms / 2,000 ms |
| コード長 | 639 bytes |
| コンパイル時間 | 540 ms |
| コンパイル使用メモリ | 21,580 KB |
| 実行使用メモリ | 5,248 KB |
| 最終ジャッジ日時 | 2024-10-09 02:00:28 |
| 合計ジャッジ時間 | 1,693 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 20 |
ソースコード
Scanf.scanf "%d" (fun n ->
let rec gcd a b = if b = 0 then a else gcd b (a mod b) in
let a = Array.init n (fun _ -> Scanf.scanf " %d" (fun a -> a)) in
let rec loop_i i acc =
let rec loop_j j acc =
let rec loop_k k g acc =
if k = n then acc else
let acc = if gcd g a.(k) = 1 then acc + 1 else acc in
loop_k (k + 1) g acc
in
if j = n then acc else loop_j (j + 1) (loop_k (j + 1) (gcd a.(i) a.(j)) acc)
in
if i = n then acc else loop_i (i + 1) (loop_j (i + 1) acc)
in
loop_i 0 0 |> Printf.printf "%d\n"
)