結果
問題 |
No.1015 おつりは要らないです
|
ユーザー |
![]() |
提出日時 | 2020-03-16 12:41:38 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
WA
|
実行時間 | - |
コード長 | 823 bytes |
コンパイル時間 | 148 ms |
コンパイル使用メモリ | 12,672 KB |
実行使用メモリ | 21,580 KB |
最終ジャッジ日時 | 2024-11-28 02:53:05 |
合計ジャッジ時間 | 3,452 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 WA * 1 |
other | AC * 13 WA * 20 |
ソースコード
#!/usr/local/bin/python3.8 import sys read = sys.stdin.read readline = sys.stdin.readline readlines = sys.stdin.readlines def min_pay(a, X, Y, Z): x, y, z = 0, 0, 0 z = min(Z, a // 10000) a -= 10000 * z y = min(Y, a // 5000) a -= 5000 * z x = min(X, a // 1000) a -= 1000 * x if x < X: x += 1 elif y < Y: y += 1 elif z < Z: z += 1 return x, y, z def solve(A, X, Y, Z): """左から順に、その都度の支払い額を最小にしていく""" A = (x + 1 for x in A) for a in A: x, y, z = min_pay(a, X, Y, Z) if 1000 * x + 5000 * y + 10000 * z < a: return False X -= x Y -= y Z -= z return True N, X, Y, Z, *A = map(int, read().split()) print('Yes' if solve(A, X, Y, Z) else 'No')