結果
問題 | No.1015 おつりは要らないです |
ユーザー |
![]() |
提出日時 | 2020-04-04 10:34:57 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 101 ms / 2,000 ms |
コード長 | 1,001 bytes |
コンパイル時間 | 311 ms |
コンパイル使用メモリ | 81,888 KB |
実行使用メモリ | 87,364 KB |
最終ジャッジ日時 | 2024-11-18 05:45:09 |
合計ジャッジ時間 | 4,114 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 33 |
ソースコード
import sys readline = sys.stdin.buffer.readline def even(n): return 1 if n%2==0 else 0 n,sen,gosen,man = map(int,readline().split()) lst1 = list(map(int,readline().split())) lst1.sort(reverse=True) for i in range(len(lst1)): lst1[i] += 1 #lst1[i]+1円を支払う必要がある i = 0 l = len(lst1) while True: if i >= l: break if lst1[i] < 10000: break else: if man > 0: mai = min(man,lst1[i]//10000) lst1[i] -= mai*10000 man -= mai i += 1 lst1.sort(reverse=True) if man: lst1 = lst1[man:] i = 0 l = len(lst1) while True: if i >= l: break if lst1[i] < 5000: break else: if gosen > 0: mai = min(gosen,lst1[i]//5000) lst1[i] -= 5000*mai gosen -= mai i += 1 lst1.sort(reverse=True) if gosen: lst1 = lst1[gosen:] need = 0 for i in lst1: need += (i+1000-1)//1000 if sen >= need: print("Yes") else: print("No")