結果
問題 |
No.176 2種類の切手
|
ユーザー |
|
提出日時 | 2017-12-31 16:23:34 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 724 ms / 1,000 ms |
コード長 | 769 bytes |
コンパイル時間 | 2,096 ms |
コンパイル使用メモリ | 192,784 KB |
実行使用メモリ | 7,844 KB |
最終ジャッジ日時 | 2025-04-19 06:08:16 |
合計ジャッジ時間 | 7,043 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 29 |
ソースコード
#include <bits/stdc++.h> using namespace std; using ll = long long; int main() { cin.tie(0); ios::sync_with_stdio(false); ll A, B, T; cin >> A >> B >> T; if (A > B) { swap(A, B); } if (A == 1) { cout << T << endl; return 0; } const ll g = gcd(A, B); T = (T + g - 1) / g; A /= g; B /= g; if (T > A * B - A - B) { cout << T * g << endl; } else { ll mini = 1LL << 60; for (ll b = 0; b <= A; b++) { const ll rest = T - B * b; if (rest <= 0) { mini = min(mini, B * b); } else { mini = min(mini, B * b + (rest + A - 1) / A * A); } } cout << mini * g << endl; } return 0; }