結果
問題 |
No.275 中央値を求めよ
|
ユーザー |
![]() |
提出日時 | 2019-07-03 22:26:59 |
言語 | Elixir (1.18.1) |
結果 |
AC
|
実行時間 | 568 ms / 1,000 ms |
コード長 | 751 bytes |
コンパイル時間 | 1,080 ms |
コンパイル使用メモリ | 63,260 KB |
実行使用メモリ | 55,632 KB |
最終ジャッジ日時 | 2024-12-31 03:15:10 |
合計ジャッジ時間 | 24,841 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 38 |
ソースコード
defmodule Main do def main do _ = IO.gets("") sorted_list = IO.gets("") |> String.trim |> String.split |> Enum.map(&String.to_integer/1) |> Enum.sort index = median_index(sorted_list) median(sorted_list, index) |> IO.puts end def median(sorted_list, index) when is_integer(index) do sorted_list |> Enum.at(index) end def median(sorted_list, index) when is_list(index) do index |> Enum.map(&Enum.at(sorted_list, &1)) |> Enum.sum |> (fn sum -> sum/2 end).() end def median_index(sorted_list) do list_count = sorted_list |> Enum.count case list_count |> rem(2) do 0 -> list_count/2 - 0.5 |> (fn hoge -> [floor(hoge), ceil(hoge)] end).() 1 -> list_count/2 - 0.5 |> ceil end end end