結果
問題 |
No.176 2種類の切手
|
ユーザー |
|
提出日時 | 2015-08-13 22:46:22 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 948 bytes |
コンパイル時間 | 1,375 ms |
コンパイル使用メモリ | 160,636 KB |
実行使用メモリ | 13,760 KB |
最終ジャッジ日時 | 2024-10-08 03:30:26 |
合計ジャッジ時間 | 3,724 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | -- * 3 |
other | AC * 2 WA * 1 TLE * 1 -- * 25 |
ソースコード
#include <bits/stdc++.h> #define rep(i, a) for (int i = 0; i < (a); i++) #define rep2(i, a, b) for (int i = (a); i < (b); i++) #define repr(i, a) for (int i = (a) - 1; i >= 0; i--) #define repr2(i, a, b) for (int i = (b) - 1; i >= (a); i--) using namespace std; typedef long long ll; const ll inf = 1e9; const ll mod = 1e9 + 7; typedef pair<ll, ll> P; // bx+(a-a/b*b)y // ay+(x-a/by)b P extgcd(ll a, ll b) { if (b == 0) return P(1, 0); P p = extgcd(b, a % b); return P(p.second, p.first - a / b * p.second); } int main() { ll A, B, T; cin >> A >> B >> T; ll g = __gcd(A, B); ll a = A / g; ll b = B / g; P p = extgcd(A, B); ll ans = 0; for (ll i = (T + g - 1) / g;; i++) { ll x = p.first * i; ll y = p.second * i; ll l = (-x + b - 1) / b; ll r = y / a; if (r >= l) { ans = g * i; break; } } cout << ans << endl; }