結果
| 問題 |
No.825 賢いお買い物
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2019-05-03 21:35:04 |
| 言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,196 bytes |
| コンパイル時間 | 1,610 ms |
| コンパイル使用メモリ | 167,068 KB |
| 実行使用メモリ | 6,820 KB |
| 最終ジャッジ日時 | 2024-12-31 17:33:00 |
| 合計ジャッジ時間 | 2,405 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 18 WA * 1 |
ソースコード
#include <bits/stdc++.h>
#define range(i, n) for(int (i) = 0; (i) < (n); (i)++)
#define reversed_range(i, n) for (int (i) = (n) - 1; (i) >= 0; (i)--)
using namespace std;
template <typename T>
using vec = vector<T>;
using lint = long long;
using ulint = unsigned long long;
template <typename T>
ostream& operator <<(ostream& os, vec<T> v) {
os << "[";
for (int i = 0; i < v.size() - 1; i++) {
os << v.at(i) << ", ";
}
return os << v.at(v.size() - 1) << "]";
}
const int INF = (1 << 29) - 1;
int main() {
int A, B, C;
cin >> A >> B >> C;
int min_cost = INF;
for (int num_ones = 0; num_ones <= A; num_ones++) {
for (int num_tens = 0; num_tens <= B; num_tens++) {
int sum_value = num_ones + 10 * num_tens;
for (int cost = sum_value; cost > 0; cost -= 10) {
int rest = sum_value - cost;
int num_coins = (A - num_ones) + (B - num_tens) + (rest / 10) + (rest % 10);
if (num_coins == C) {
min_cost = min(min_cost, cost);
}
}
}
}
if (min_cost < INF) cout << min_cost << "\n";
else cout << "Impossible" << "\n";
}