結果
| 問題 |
No.1015 おつりは要らないです
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2020-04-03 23:34:34 |
| 言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,449 bytes |
| コンパイル時間 | 149 ms |
| コンパイル使用メモリ | 12,800 KB |
| 実行使用メモリ | 26,620 KB |
| 最終ジャッジ日時 | 2024-07-03 06:31:12 |
| 合計ジャッジ時間 | 9,746 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 4 |
| other | AC * 17 WA * 16 |
ソースコード
import sys
sys.setrecursionlimit(10 ** 7)
read = sys.stdin.buffer.read
readline = sys.stdin.buffer.readline
readlines = sys.stdin.buffer.readlines
N, X, Y, Z = map(int, input().split())
A = list(map(int, input().split()))
A = [a + 1 for a in A]
for i in range(N):
if Z == 0:
break
a = A[i]
man = a // 10000
if man == 0:
continue
num = man if man <= Z else Z
A[i] -= num * 10000
Z -= num
A.sort(key=lambda x: (x//10000, x % 10000), reverse=True)
for i in range(N):
a = A[i]
if Z == 0:
break
if a <= 0:
continue
man = -(-a // 10000)
num = man if man <= Z else Z
A[i] -= num * 10000
Z -= num
for i in range(N):
if Y == 0:
break
a = A[i]
if a <= 0:
continue
gosen = a // 5000
if gosen == 0:
continue
num = gosen if gosen <= Y else Y
A[i] -= num * 5000
Y -= num
A.sort(key=lambda x: (x//5000, x % 5000), reverse=True)
for i in range(N):
a = A[i]
if Y == 0:
break
if a <= 0:
continue
gosen = -(-a // 5000)
num = gosen if gosen <= Y else Y
A[i] -= num * 5000
Y -= num
for i in range(N):
a = A[i]
if a <= 0:
continue
if X == 0:
print('No')
exit()
sen = -(-a // 1000)
num = sen if sen <= X else X
a -= num * 1000
X -= num
if a >= 0:
print('No')
exit()
print('Yes')
exit()