結果
問題 |
No.29 パワーアップ
|
ユーザー |
|
提出日時 | 2020-04-19 16:36:24 |
言語 | Elixir (1.18.1) |
結果 |
AC
|
実行時間 | 564 ms / 5,000 ms |
コード長 | 766 bytes |
コンパイル時間 | 998 ms |
コンパイル使用メモリ | 63,032 KB |
実行使用メモリ | 56,024 KB |
最終ジャッジ日時 | 2024-12-31 04:28:38 |
合計ジャッジ時間 | 14,536 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 22 |
ソースコード
defmodule Main do def main do 1..(IO.read(:line) |> String.trim() |> String.to_integer()) |> Enum.map(fn _ -> IO.read(:line) |> String.trim() |> String.split() |> Enum.map(&String.to_integer/1) end) |> solve |> IO.puts() end def solve(a) do a |> count_rec(%{}) |> Map.to_list() |> calc_rec(0, 0) end def count_rec([], i) do i end def count_rec([[a, b, c] | t], i) do count_rec( t, i |> Map.update(a, 1, &(&1 + 1)) |> Map.update(b, 1, &(&1 + 1)) |> Map.update(c, 1, &(&1 + 1)) ) end def calc_rec([], p, r) do p + (r |> div(4)) end def calc_rec([{_, v} | t], p, r) do calc_rec(t, p + (v |> div(2)), r + (v |> rem(2))) end end