結果
問題 |
No.186 中華風 (Easy)
|
ユーザー |
|
提出日時 | 2015-08-12 21:48:30 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,026 bytes |
コンパイル時間 | 1,257 ms |
コンパイル使用メモリ | 159,388 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-07-18 07:00:27 |
合計ジャッジ時間 | 1,925 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 21 WA * 2 |
ソースコード
#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 + 9; ll x[3], y[3]; ll lcm(ll a, ll b) { return a / __gcd(a, b) * b; } void solve(ll x1, ll y1, ll x2, ll y2, ll &resX, ll &resY) { ll l = lcm(y1, y2); for (ll i = 0; x1 + y1 * i < l; i++) { ll z = x1 + y1 * i; if (z % y2 == x2) { resX = z; resY = l; return; } } resX = 0; resY = -1; } int main() { rep (i, 3) cin >> x[i] >> y[i]; solve(x[0], y[0], x[1], y[1], x[1], y[1]); if (y[1] == -1) { cout << -1 << endl; return 0; } solve(x[1], y[1], x[2], y[2], x[2], y[2]); if (y[2] == -1) { cout << -1 << endl; return 0; } cout << x[2] << endl; }