結果
| 問題 |
No.1015 おつりは要らないです
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2020-04-03 23:17:08 |
| 言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,460 bytes |
| コンパイル時間 | 160 ms |
| コンパイル使用メモリ | 12,800 KB |
| 実行使用メモリ | 21,820 KB |
| 最終ジャッジ日時 | 2024-07-03 06:10:31 |
| 合計ジャッジ時間 | 7,916 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 4 |
| other | AC * 22 WA * 11 |
ソースコード
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()))
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, reverse=True)
for i in range(N):
a = A[i]
if Z == 0:
break
if a < 0:
continue
elif a == 0:
a += 1
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]
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, reverse=True)
for i in range(N):
a = A[i]
if Y == 0:
break
if a < 0:
continue
elif a == 0:
a += 1
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 a == 0:
a += 1
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()