結果

問題 No.186 中華風 (Easy)
ユーザー 古寺いろは
提出日時 2015-04-19 23:40:59
言語 C++11
(gcc 4.8.5)
結果
AC  
実行時間 25 ms
コード長 694 Byte
コンパイル時間 1,084 ms
使用メモリ 1,508 KB
最終ジャッジ日時 2019-10-09 09:17:57

テストケース

テストケース表示
入力 結果 実行時間
使用メモリ
0.in AC 14 ms
1,504 KB
1.in AC 10 ms
1,504 KB
2.in AC 6 ms
1,508 KB
3.in AC 4 ms
1,508 KB
4.in AC 8 ms
1,504 KB
5.in AC 12 ms
1,504 KB
6.in AC 18 ms
1,504 KB
7.in AC 19 ms
1,504 KB
8.in AC 19 ms
1,504 KB
9.in AC 19 ms
1,504 KB
A.in AC 25 ms
1,504 KB
B.in AC 11 ms
1,508 KB
C.in AC 11 ms
1,508 KB
D.in AC 12 ms
1,508 KB
E.in AC 5 ms
1,508 KB
F.in AC 10 ms
1,504 KB
G.in AC 9 ms
1,504 KB
system_test1.txt AC 5 ms
1,504 KB
system_test2.txt AC 15 ms
1,508 KB
system_test3.txt AC 6 ms
1,504 KB
system_test4.txt AC 14 ms
1,508 KB
system_test5.txt AC 15 ms
1,504 KB
テストケース一括ダウンロード

ソースコード

diff #
#include "bits/stdc++.h"
using namespace std;

long long gcd(long long a, long long b){
	if (b == 0) return a;
	return gcd(b, a%b);
}

int main() {
	long long X1, Y1, X2, Y2, X3, Y3;
	cin >> Y1 >> X1 >> Y2 >> X2 >> Y3 >> X3;
	long long ans = Y3;
	if (Y3 == 0) ans = X3;
	int count = X2 + 1000;

	long long add = X3;

	while (count > 0 && ans >= 0){
		if (ans % X2 == Y2) break;
		ans += add;
		count--;
	}
	if (count <= 0 || ans < 0){
		cout << -1 << endl;
		return 0;
	}

	add = (X3 * X2) / gcd(X3, X2);

	count = X1 + 1000;
	while (count > 0){
		if (ans % X1 == Y1) break;
		ans += add;
		count--;
	}

	if (count <= 0 || ans < 0){
		cout << -1 << endl;
		return 0;
	}

	cout << ans << endl;
}
0