Submission #17940471
Source Code Expand
defmodule Main do
def main do
a = IO.read(:line) |> String.trim() |> String.to_integer()
b = IO.read(:line) |> String.trim() |> String.to_integer()
c = IO.read(:line) |> String.trim() |> String.to_integer()
d = IO.read(:line) |> String.trim() |> String.to_integer()
e = IO.read(:line) |> String.trim() |> String.to_integer()
solve(a, b, c, d, e)
|> IO.puts()
end
@doc ~S"""
https://atcoder.jp/contests/abc123/tasks/abc123_b
## Examples
iex> Abc123B.solve(29, 20, 7, 35, 120)
215
iex> Abc123B.solve(123, 123, 123, 123, 123)
643
"""
def solve(a, b, c, d, e) do
list = [a, b, c, d, e]
last_order = last_order(list)
List.delete(list, last_order)
|> Enum.map(&ceil_tens_point/1)
|> Enum.sum()
|> Kernel.+(last_order)
end
defp last_order(list) do
list
|> Enum.map(&{rem(&1, 10), &1})
|> Enum.reject(fn {ones_place, _} -> ones_place == 0 end)
|> Enum.min_by(fn {ones_place, _} -> ones_place end, fn -> {nil, 0} end)
|> elem(1)
end
defp ceil_tens_point(n) when rem(n, 10) == 0, do: n
defp ceil_tens_point(n), do: n + 10 - rem(n, 10)
end
Submission Info
| Submission Time |
|
| Task |
B - Five Dishes |
| User |
awesomey |
| Language |
Elixir (1.10.2) |
| Score |
200 |
| Code Size |
1205 Byte |
| Status |
AC |
| Exec Time |
428 ms |
| Memory |
30756 KiB |
Judge Result
| Set Name |
Sample |
All |
| Score / Max Score |
0 / 0 |
200 / 200 |
| Status |
|
|
| Set Name |
Test Cases |
| Sample |
s1.txt, s2.txt, s3.txt |
| All |
in1.txt, in2.txt, in3.txt, in4.txt, in5.txt, in6.txt, in7.txt, s1.txt, s2.txt, s3.txt |
| Case Name |
Status |
Exec Time |
Memory |
| in1.txt |
AC |
400 ms |
30544 KiB |
| in2.txt |
AC |
394 ms |
30664 KiB |
| in3.txt |
AC |
395 ms |
30232 KiB |
| in4.txt |
AC |
393 ms |
30756 KiB |
| in5.txt |
AC |
428 ms |
30460 KiB |
| in6.txt |
AC |
399 ms |
30584 KiB |
| in7.txt |
AC |
395 ms |
30732 KiB |
| s1.txt |
AC |
404 ms |
30516 KiB |
| s2.txt |
AC |
400 ms |
30676 KiB |
| s3.txt |
AC |
393 ms |
30512 KiB |