結果
| 問題 |
No.1015 おつりは要らないです
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2020-04-03 21:34:22 |
| 言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
| 結果 |
AC
|
| 実行時間 | 170 ms / 2,000 ms |
| コード長 | 1,454 bytes |
| コンパイル時間 | 132 ms |
| コンパイル使用メモリ | 12,800 KB |
| 実行使用メモリ | 21,928 KB |
| 最終ジャッジ日時 | 2024-11-17 23:06:44 |
| 合計ジャッジ時間 | 4,843 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 4 |
| other | AC * 33 |
ソースコード
def main():
N, X, Y, Z = map( int, input().split())
A = list( map( lambda x:int(x)+1, input().split()))
# print(A)
for i in range(N):
if 10000 <= A[i]:
# print(i, A[i])
if A[i]//10000 <= Z:
Z -= A[i]//10000
A[i] -= A[i]//10000*10000
else:
A[i] -= Z*10000
Z = 0
break
A.sort( reverse = True)
for i in range(N):
if Z > 0:
A[i] = 0
Z -= 1
else:
break
# print(X, Y, Z, A)
for i in range(N):
if 5000 <= A[i]:
if A[i]//5000 <= Y:
Y -= A[i]//5000
A[i] -= A[i]//5000*5000
else:
A[i] -= Y*5000
Y = 0
break
A.sort( reverse = True)
for i in range(N):
if Y > 0:
A[i] = 0
Y -= 1
else:
break
for i in range(N):
if 1000 <= A[i]:
if A[i]//1000 <= X:
X -= A[i]//1000
A[i] -= A[i]//1000*1000
else:
A[i] -= X*1000
X = 0
break
A.sort( reverse = True)
for i in range(N):
if X > 0:
A[i] = 0
X -= 1
else:
break
if sum(A) == 0:
print("Yes")
else:
print("No")
if __name__ == '__main__':
main()