結果

問題 No.965 門松列が嫌い
コンテスト
ユーザー daikiyamane
提出日時 2020-01-27 00:09:15
言語 Elixir
(1.19.5)
コンパイル:
elixirc _filename_
実行:
elixir -e Main.main
結果
TLE  
実行時間 -
コード長 971 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 605 ms
コンパイル使用メモリ 73,364 KB
実行使用メモリ 76,088 KB
最終ジャッジ日時 2026-06-04 14:48:09
合計ジャッジ時間 4,373 ms
ジャッジサーバーID
(参考情報)
judge1_0 / judge3_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 1
other AC * 1 TLE * 1 -- * 7
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

defmodule Main do
  #入力
  def main do
    num = IO.gets("") |> String.trim |> String.split |>Enum.map(&String.to_integer/1)
    check(num, 0)
  end
  # 大 小 中
  def check([a, b, c], cun) when a > b and a > c do
    if (a-c) < (c-b) do
      check([a-1, b, c], cun+1)
    else
      check([a, b, c-1], cun+1)
    end
  end
  # 中 小 大
  def check([a, b, c], cun) when a > b and a < c  do
    if (c-a) < (a-b) do
      check([a, b, c-1], cun+1)
    else
      check([a-1, b, c], cun+1)
    end
  end
  # 中 大 小
  def check([a, b, c], cun) when a > c and a < b do
    if (b-a) < (a-c) do
      check([a, b-1, c], cun+1)
    else
      check([a-1, b, c], cun+1)
    end
  end
  # 小 大 中
  def check([a, b, c], cun) when a < c and c < b do
      if (c-a) < (b-c) do
        check([a, b, c-1], cun+1)
      else
        check([a, b-1, c], cun+1)
      end
  end
  def check([a, b, c], cun) when a == b or a == c or b == c  do
    IO.inspect cun
  end
end
0