結果
問題 |
No.176 2種類の切手
|
ユーザー |
|
提出日時 | 2015-04-03 00:26:37 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 684 bytes |
コンパイル時間 | 562 ms |
コンパイル使用メモリ | 57,172 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-10-08 02:47:11 |
合計ジャッジ時間 | 1,594 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 27 WA * 2 |
ソースコード
#include<iostream> #include<algorithm> using namespace std; long long A, B, T; void read() { cin >> A >> B >> T; if (A > B) swap(A, B); } long long gcd(long long a, long long b) { return b == 0 ? a : gcd(b, a % b); } long long lcm(long long a, long long b) { return a / gcd(a, b) * b; } void work() { long long t = T % lcm(A, B); long long minV = 1LL << 60; for (int nB = (t + B - 1) / B; nB >= 0; --nB) { int remainT = t - nB * B; int nA = max(0LL, remainT + A - 1) / A; minV = min(minV, nA * A + nB * B); } cout << minV + (T - t) << endl; } int main() { read(); work(); return 0; }