結果
問題 | No.751 Frac #2 |
ユーザー |
![]() |
提出日時 | 2019-05-03 18:41:06 |
言語 | C (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 2 ms / 1,000 ms |
コード長 | 781 bytes |
コンパイル時間 | 641 ms |
コンパイル使用メモリ | 29,952 KB |
実行使用メモリ | 6,820 KB |
最終ジャッジ日時 | 2024-12-31 16:02:05 |
合計ジャッジ時間 | 1,717 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 36 |
ソースコード
// yukicoder: No.751 Frac #2 // 2019.5.3 bal4u #include <stdio.h> #define gc() getchar() int in() // 整数の入力(負数に対応) { int n = 0, c = gc(); if (c == '-') { c = gc(); do n = 10*n + (c & 0xf), c = gc(); while (c >= '0'); return -n; } do n = 10*n + (c & 0xf), c = gc(); while (c >= '0'); return n; } long long gcd(long long a, long long b) { long long r; while (b != 0) r = a % b, a = b, b = r; return a; } int main() { int i, n; long long si, bo, g; si = bo = 1; n = in(); si = in(); for (i = 1; i < n; i++) bo *= in(); n = in(); for (i = 0; i < n; i++) { bo *= in(); if (++i < n) si *= in(); } g = gcd(si, bo); if (g < 0) g = -g; si /= g, bo /= g; if (bo < 0) bo = -bo, si = -si; printf("%lld %lld\n", si, bo); return 0; }