結果
| 問題 |
No.1015 おつりは要らないです
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2020-04-03 22:44:16 |
| 言語 | Lua (LuaJit 2.1.1734355927) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,022 bytes |
| コンパイル時間 | 263 ms |
| コンパイル使用メモリ | 6,688 KB |
| 実行使用メモリ | 6,944 KB |
| 最終ジャッジ日時 | 2024-07-03 05:07:25 |
| 合計ジャッジ時間 | 3,105 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 4 |
| other | AC * 21 WA * 12 |
ソースコード
local mfl, mce = math.floor, math.ceil
local n, x, y, z = io.read("*n", "*n", "*n", "*n")
local a = {}
for i = 1, n do
a[i] = io.read("*n")
if a[i] % 1000 == 0 then
a[i] = mfl(a[i] / 1000) + 1
else
a[i] = mce(a[i] / 1000)
end
end
table.sort(a)
local f = true
for i = n, 1, -1 do
local v = a[i]
local cur = x + y * 5 + z * 10
if cur < v then f = false break end
local zneed = mfl(a[i] / 10)
v = v - zneed * 10
if zneed <= z then
z = z - zneed
else
local yneed = (zneed - z) * 2
z = 0
if yneed <= y then
y = y - yneed
else
local xneed = (yneed - y) * 5
y = 0
x = x - xneed
end
end
if v <= 4 then
if v <= x then
x = x - v
elseif 1 <= y then
y = y - 1
else
z = z - 1
end
else
if 1 <= y and (v - 5) <= x then
v = v - 5
y = y - 1
x = x - v
elseif v <= x then
x = x - v
elseif 1 <= z then
z = z - 1
else
y = y - 2
end
end
end
print(f and "Yes" or "No")