Submission #17274966


Source Code Expand

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

  @doc ~S"""
  https://atcoder.jp/contests/abc081/tasks/abc081_b

  ## Examples

      iex> Abc081B.solve([8, 12, 40])
      2
      iex> Abc081B.solve([5, 6, 8, 10])
      0
      iex> Abc081B.solve([382253568, 723152896, 37802240, 379425024, 404894720, 471526144])
      8

  """
  def solve(list) do
    Enum.reduce_while(list, 10_000_000_000, fn a, acc ->
      cnt = do_solve(a, 0)
      new_acc = if cnt < acc, do: cnt, else: acc
      if new_acc == 0, do: {:halt, 0}, else: {:cont, new_acc}
    end)
  end

  defp do_solve(a, acc) when rem(a, 2) == 1, do: acc

  defp do_solve(a, acc), do: do_solve(div(a, 2), acc + 1)
end

Submission Info

Submission Time
Task B - Shift only
User awesomey
Language Elixir (1.10.2)
Score 200
Code Size 861 Byte
Status AC
Exec Time 407 ms
Memory 30736 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 200 / 200
Status
AC × 3
AC × 13
Set Name Test Cases
Sample sample1.txt, sample2.txt, sample3.txt
All sample1.txt, sample2.txt, sample3.txt, 1.txt, 2.txt, 3.txt, 4.txt, 5.txt, 6.txt, 7.txt, sample1.txt, sample2.txt, sample3.txt
Case Name Status Exec Time Memory
1.txt AC 407 ms 30700 KiB
2.txt AC 394 ms 30592 KiB
3.txt AC 392 ms 30636 KiB
4.txt AC 395 ms 30736 KiB
5.txt AC 389 ms 30532 KiB
6.txt AC 400 ms 30704 KiB
7.txt AC 388 ms 30476 KiB
sample1.txt AC 392 ms 30440 KiB
sample2.txt AC 383 ms 30544 KiB
sample3.txt AC 390 ms 30648 KiB