結果
問題 | No.1015 おつりは要らないです |
ユーザー |
![]() |
提出日時 | 2020-04-03 22:04:43 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 70 ms / 2,000 ms |
コード長 | 1,085 bytes |
コンパイル時間 | 1,052 ms |
コンパイル使用メモリ | 72,896 KB |
最終ジャッジ日時 | 2025-01-09 13:02:15 |
ジャッジサーバーID (参考情報) |
judge2 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 33 |
ソースコード
#include <iostream> #include <algorithm> using namespace std; int a[100010]; int main(){ int i,n,x,y,z; cin >> n >> x >> y >> z; for(i=0;i<n;i++){ cin >> a[i]; } for(i=0;i<n;i++){ if(a[i]>=10000){ int num = a[i]/10000; a[i] -= min(z,num)*10000; z -= min(z,num); } } sort(a,a + n); for(i=n - 1;i>=0;i--){ if(z && a[i]>=0){ a[i] -= 10000; z--; } } for(i=0;i<n;i++){ if(a[i]>=5000){ int num = a[i]/5000; a[i] -= min(y,num)*5000; y -= min(y,num); } } sort(a,a + n); for(i=n - 1;i>=0;i--){ if(y && a[i]>=0){ a[i] -= 5000; y--; } } for(i=0;i<n;i++){ if(x && a[i]>=0){ int num = a[i]/1000 + 1; a[i] -= min(x,num)*1000; x -= min(x,num); } } for(i=0;i<n;i++){ if(a[i]>=0){ cout << "No" << endl; return 0; } } cout << "Yes" << endl; }