結果
問題 |
No.79 過小評価ダメ・ゼッタイ
|
ユーザー |
|
提出日時 | 2020-04-19 19:22:02 |
言語 | Elixir (1.18.1) |
結果 |
AC
|
実行時間 | 681 ms / 5,000 ms |
コード長 | 768 bytes |
コンパイル時間 | 1,078 ms |
コンパイル使用メモリ | 62,888 KB |
実行使用メモリ | 101,020 KB |
最終ジャッジ日時 | 2024-12-31 04:29:13 |
合計ジャッジ時間 | 17,367 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 22 |
ソースコード
defmodule Main do def main do IO.read(:line) IO.read(:line) |> String.trim() |> String.split() |> Enum.map(&String.to_integer/1) |> solve |> IO.puts() end def solve(l) do l |> extract |> decide end def extract(l) do extract_rec(l |> Enum.group_by(& &1) |> Map.to_list(), %{}, 0) end def extract_rec([], r, _) do r end def extract_rec([{k, v} | t], r, m) do cond do v |> length >= m -> extract_rec(t, r |> Map.put(k, v |> length), v |> length) true -> extract_rec(t, r, m) end end def decide(m) do n = m |> Map.values() |> Enum.max() m |> Map.to_list() |> Enum.filter(fn {_, v} -> v == n end) |> Enum.map(fn {k, _} -> k end) |> Enum.max() end end