結果
| 問題 |
No.29 パワーアップ
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2020-04-19 16:36:24 |
| 言語 | Elixir (1.18.1) |
| 結果 |
AC
|
| 実行時間 | 623 ms / 5,000 ms |
| コード長 | 766 bytes |
| コンパイル時間 | 2,143 ms |
| コンパイル使用メモリ | 83,212 KB |
| 実行使用メモリ | 74,476 KB |
| 最終ジャッジ日時 | 2025-10-24 21:14:37 |
| 合計ジャッジ時間 | 18,234 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| 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