結果
問題 |
No.842 初詣
|
ユーザー |
|
提出日時 | 2019-07-28 11:21:55 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 2 ms / 2,000 ms |
コード長 | 1,436 bytes |
コンパイル時間 | 608 ms |
コンパイル使用メモリ | 66,472 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-07-02 14:57:20 |
合計ジャッジ時間 | 1,436 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 21 |
ソースコード
#include <iostream> #include <vector> #include <algorithm> #include <map> using namespace std; #define rep(i, s, n) for (int i = s; i < n; i++) #define repe(i, s, n) for (int i = s; i <= n; i++) #define pb push_back #define fi first #define se second typedef long long ll; typedef pair<int, int> pii; typedef pair<ll, ll> pll; typedef vector<int> vi; typedef vector<int> vll; typedef vector<pii> vpii; typedef vector<pll> vpll; static const ll maxLL = (ll) 1 << 62; const ll MOD = 1000000007, INF = 1e18; int dy[] = {-1, 0, 1, 0}; int dx[] = {0, 1, 0, -1}; template<typename T1, typename T2> bool pairCompare(const pair<T1, T2> &firstElof, const pair<T1, T2> &secondElof) { return firstElof.second > secondElof.second; } int mapMaxValue(std::map<ll, int> m) { int max = 0; for (std::map<ll, int>::iterator it = m.begin(); it != m.end(); it++) { if (max < it->second) max = it->second; } return max; } int main(void) { pair<int, int> coin[6]; int value[6] = {1, 5, 10, 50, 100, 500}; int total; for (int i = 5; i >= 0; i--) { cin >> coin[i].fi; coin[i].se = value[i]; } cin >> total; for (int i = 5; i >= 0; i--) { int require_num = total / coin[i].se; total -= min(require_num, coin[i].fi) * coin[i].se; if (total == 0) { cout << "YES" << endl; return 0; } } cout << "NO" << endl; }