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 |
|
|
| 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 |