結果
| 問題 |
No.2681 ゲームセンターの両替
|
| コンテスト | |
| ユーザー |
zawakasu
|
| 提出日時 | 2024-03-20 21:22:02 |
| 言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
AC
|
| 実行時間 | 3 ms / 2,000 ms |
| コード長 | 1,241 bytes |
| コンパイル時間 | 2,199 ms |
| コンパイル使用メモリ | 193,176 KB |
| 最終ジャッジ日時 | 2025-02-20 08:39:10 |
|
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 23 |
ソースコード
#include <bits/stdc++.h>
namespace zawa {
using i16 = std::int16_t;
using i32 = std::int32_t;
using i64 = std::int64_t;
using i128 = __int128_t;
using u8 = std::uint8_t;
using u16 = std::uint16_t;
using u32 = std::uint32_t;
using u64 = std::uint64_t;
using usize = std::size_t;
} // namespace zawa
namespace zawa {
void SetFastIO() {
std::cin.tie(nullptr)->sync_with_stdio(false);
}
void SetPrecision(u32 dig) {
std::cout << std::fixed << std::setprecision(dig);
}
} // namespace zawa
using namespace zawa;
int val[11]{ 1, 5, 10, 50, 100, 500, 1000, 2000, 5000, 100000, (int)2e9 };
long long cnt[10];
int main() {
SetFastIO();
int c, y; std::cin >> c >> y;
for (int i{} ; i < 10 ; i++) {
cnt[i] = (y % (val[i + 1])) / val[i];
y -= cnt[i] * val[i];
}
if (cnt[4] >= c) {
std::cout << "no exchange " << '\n';
return 0;
}
for (int i{9} ; i >= 6 ; i--) {
cnt[5] += cnt[i] * (val[i] / 500);
}
long long all{cnt[5] * 5};
if (all + cnt[4] < c) {
std::cout << "can't exchange" << '\n';
return 0;
}
long long need{(c - cnt[4] + 4) / 5};
cnt[4] += need * 5;
assert(need <= cnt[5]);
std::cout << cnt[4] << '\n';
}
zawakasu