結果
| 問題 | No.751 Frac #2 |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2018-11-22 13:09:56 |
| 言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
| 結果 |
AC
|
| 実行時間 | 2 ms / 1,000 ms |
| コード長 | 1,071 bytes |
| コンパイル時間 | 460 ms |
| コンパイル使用メモリ | 55,136 KB |
| 実行使用メモリ | 5,248 KB |
| 最終ジャッジ日時 | 2024-12-24 16:22:38 |
| 合計ジャッジ時間 | 1,681 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 2 |
| other | AC * 36 |
ソースコード
#include <iostream>
#include <string>
typedef long long int ll;
using namespace std;
int gcf(int a, int b) {
if (b == 0) { return a; }
return gcf(b, a % b);
}
int main(void) {
int A[20], B[20];
int n1, n2;
cin >> n1;
for (int i = 0; i < n1; ++i) {
cin >> A[i];
}
cin >> n2;
for (int i = 0; i < n2; i++) {
cin >> B[i];
}
ll A_deno = A[0];
ll A_nume = 1;
for (int i = 1; i < n1; ++i) {
A_nume *= A[i];
}
ll B_deno = 1;
ll B_nume = 1;
for (int i = 0; i < n2; ++i) {
if (i % 2 == 0) {
B_nume *= B[i];
} else {
B_deno *= B[i];
}
}
ll g_a = gcf(abs(A_deno), abs(A_nume));
ll g_b = gcf(abs(B_deno), abs(B_nume));
A_deno /= g_a;
A_nume /= g_a;
B_deno /= g_b;
B_nume /= g_b;
ll deno = A_deno * B_deno;
ll nume = A_nume * B_nume;
ll g = gcf(abs(deno), abs(nume));
deno = (nume < 0) ? -deno : deno;
nume = (nume < 0) ? -nume : nume;
cout << deno / g << " " << nume / g << endl;
}