結果
問題 | No.751 Frac #2 |
ユーザー | poyompoy |
提出日時 | 2018-11-09 21:28:30 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 2 ms / 1,000 ms |
コード長 | 801 bytes |
コンパイル時間 | 633 ms |
コンパイル使用メモリ | 72,132 KB |
実行使用メモリ | 6,820 KB |
最終ジャッジ日時 | 2024-11-21 05:35:16 |
合計ジャッジ時間 | 1,719 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 36 |
ソースコード
#include <iostream> #include <algorithm> #include <vector> using namespace std; long long gcd(long long x, long long y) { x = abs(x); y = abs(y); while (y != 0) { long long r = x % y; x = y; y = r; } return x; } int main() { int n, m; cin >> n; vector<long long> a(n); for (int i = 0; i < n; i++) { cin >> a[i]; } cin >> m; vector<long long> b(m); for (int i = 0; i < m; i++) { cin >> b[i]; } long long a0 = a[0]; long long a1 = 1; for (int i = 1; i < n; i++) { a1 *= a[i]; } for (int i = 0; i < m; i++) { if (i % 2 == 0) { a1 *= b[i]; } else { a0 *= b[i]; } } long long g = gcd(a0, a1); a0 /= g; a1 /= g; if (a1 < 0) { a0 *= -1; a1 *= -1; } cout << a0 << ' ' << a1 << endl; return 0; }