結果
問題 | No.751 Frac #2 |
ユーザー |
![]() |
提出日時 | 2018-11-09 21:42:42 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 2 ms / 1,000 ms |
コード長 | 1,209 bytes |
コンパイル時間 | 815 ms |
コンパイル使用メモリ | 101,792 KB |
実行使用メモリ | 6,824 KB |
最終ジャッジ日時 | 2024-11-21 05:45:00 |
合計ジャッジ時間 | 1,791 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 36 |
ソースコード
#include<iostream> #include<vector> #include<algorithm> #include<functional> #include<queue> #include<stack> #include<set> #include<map> #include<unordered_map> #include<climits> #include<cstdlib> #include<cmath> #include<string> #include<iomanip> #include<bitset> using namespace std; #define INF 1 << 29 #define LL long long int LL const MOD = 1000000007; LL mygcd(LL a,LL b){ if(b == 0){ return a; } return mygcd(b,a%b); } int main(){ cin.tie(0); ios::sync_with_stdio(false); LL n; cin >> n; vector<LL> a(n); for(int i = 0; i < n; i++){ cin >> a[i]; } LL m; cin >> m; vector<LL> b(m); for(int i = 0; i < m; i++){ cin >> b[i]; } LL ab = 1; for(int i = 1; i < n; i++){ ab *= a[i]; } LL ba = b[m-1]; LL bb = 1; for(int i = m-2; i >= 0; i--){ LL tmp = ba; ba = bb*b[i]; bb = tmp; } LL A = a[0]*bb; LL B = ba*ab; LL g = mygcd(A,B); A /= g; B /= g; if(A*B < 0){ cout << -abs(A) << " "; cout << abs(B) << endl; }else{ cout << abs(A) << " "; cout << abs(B) << endl; } return 0; }