結果
問題 |
No.751 Frac #2
|
ユーザー |
![]() |
提出日時 | 2018-11-11 00:42:15 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 3 ms / 1,000 ms |
コード長 | 997 bytes |
コンパイル時間 | 2,150 ms |
コンパイル使用メモリ | 196,688 KB |
最終ジャッジ日時 | 2025-01-06 16:22:55 |
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 36 |
ソースコード
#include "bits/stdc++.h" using namespace std; using ll = long long; using ld = long double; const double PI = 3.1415926535897932384626433832795; const int dx[] = { 0, 1, 0, -1 }; const int dy[] = { -1, 0, 1, 0 }; int gcd(int x, int y) { return y ? gcd(y, x % y) : abs(x); } ll gcd(ll x, ll y) { return y ? gcd(y, x % y) : abs(x); } int lcm(int x, int y) { return x / gcd(x, y) * y; } ll lcm(ll x, ll y) { return x / gcd(x, y) * y; } int main() { ios::sync_with_stdio(false); cin.tie(0); ll n1; cin >> n1; vector<ll> a(n1); for (auto &v : a) { cin >> v; } ll n2; cin >> n2; vector<ll> b(n2); for (auto &v : b) { cin >> v; } ll numer = a[0], denom = 1; for (int i = 1; i < n1; i++) { denom *= a[i]; } for (int i = 0; i < n2; i++) { if (i & 1) { numer *= b[i]; } else { denom *= b[i]; } } if (denom < 0) { numer = -numer; denom = -denom; } ll g = gcd(numer, denom); numer /= g; denom /= g; cout << numer << " " << denom << endl; return 0; }