結果
| 問題 |
No.1015 おつりは要らないです
|
| コンテスト | |
| ユーザー |
IKyopro
|
| 提出日時 | 2020-04-04 13:32:50 |
| 言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
AC
|
| 実行時間 | 32 ms / 2,000 ms |
| コード長 | 882 bytes |
| コンパイル時間 | 4,380 ms |
| コンパイル使用メモリ | 198,892 KB |
| 最終ジャッジ日時 | 2025-01-09 14:02:03 |
|
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 4 |
| other | AC * 33 |
ソースコード
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
template <class T, class U> using Pa = pair<T, U>;
template <class T> using vec = vector<T>;
template <class T> using vvec = vector<vec<T>>;
int main(){
cin.tie(0);
ios::sync_with_stdio(false);
int N;
vec<int> X(3);
cin >> N >> X[0] >> X[1] >> X[2];
vec<int> B = {1000,5000,10000};
vec<int> A(N);
bool ok = true;
for(int i=0;i<N;i++){
cin >> A[i];
A[i]++;
}
for(int j=2;j>=0;j--){
for(int i=0;i<N;i++){
int n = min(A[i]/B[j],X[j]);
A[i] -= n*B[j];
X[j] -= n;
}
sort(A.begin(),A.end(),greater<int>());
for(int i=0;i<N;i++) if(X[j]){
A[i] = max(A[i]-B[j],0);
X[j]--;
}
}
cout << (all_of(A.begin(),A.end(),[](int i){return !i;})? "Yes\n":"No\n");
}
IKyopro