結果
問題 | No.1015 おつりは要らないです |
ユーザー |
![]() |
提出日時 | 2020-06-21 02:30:52 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 68 ms / 2,000 ms |
コード長 | 1,223 bytes |
コンパイル時間 | 3,127 ms |
コンパイル使用メモリ | 164,168 KB |
実行使用メモリ | 6,820 KB |
最終ジャッジ日時 | 2024-11-18 07:22:16 |
合計ジャッジ時間 | 4,425 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 33 |
ソースコード
/** * @FileName a.cpp * @Author kanpurin * @Created 2020.06.21 02:30:44 **/ #include "bits/stdc++.h" using namespace std; typedef long long ll; int main() { int n,x,y,z;cin >> n >> x >> y >> z; priority_queue<int> pq; for (int i = 0; i < n; i++) { int a;cin >> a; pq.push(a+1); } while(!pq.empty()) { int p = pq.top(); pq.pop(); if (p >= 10000 && z >= p/10000) { z-=p/10000; p%=10000; pq.push(p); } else if (p >= 10000 && z > 0) { p -= z * 10000; z = 0; pq.push(p); } else if (z > 0) { z -= (p + 9999) / 10000; } else if (p >= 5000 && y >= p/5000) { y-=p/5000; p%=5000; pq.push(p); } else if (p >= 5000 && y > 0) { p -= y * 5000; y = 0; pq.push(p); } else if (y > 0) { y -= (p + 4999) / 5000; } else if (x >= (p + 999) / 1000) { x-=(p + 999) / 1000; } else { puts("No"); return 0; } } puts("Yes"); return 0; }