結果
| 問題 |
No.751 Frac #2
|
| コンテスト | |
| ユーザー |
YDK1727
|
| 提出日時 | 2018-11-09 22:25:15 |
| 言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 2,158 bytes |
| コンパイル時間 | 1,604 ms |
| コンパイル使用メモリ | 169,144 KB |
| 実行使用メモリ | 6,824 KB |
| 最終ジャッジ日時 | 2024-11-21 06:15:41 |
| 合計ジャッジ時間 | 2,453 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 2 |
| other | AC * 6 WA * 30 |
ソースコード
#include "bits/stdc++.h" // {{{
using namespace std;
#define int long long
#define eb emplace_back
#define emp emplace
#define fi first
#define se second
#define X first
#define Y second
#define outl(x) cout << (x) << '\n'
#define rep(i,n) for(int i=0; i < (int)(n); ++i)
#define ALL(x) begin(x), end(x)
#define TMPLT(T,U) template<class T, class U>
#define ten(p) (int)(1e##p)
#define FILL(a,val) memset((a), (val), sizeof(a))
#define FAST() ios::sync_with_stdio(false), cin.tie(nullptr)
#ifdef DEBUG
#define debug(...) fprintf(stderr, __VA_ARGS__)
#define show(x) clog << #x << " \t= " << (x) << '\n'
#define line() fputs("\n--------------------------------\n", stderr)
#else
#define debug(...)
#define show(x)
#define LN()
#endif
using ll = long long;
using pii = pair<int,int>;
TMPLT(T,U) inline bool chmax(T &a, U b){return b>a ? a=b,1 : 0;}
TMPLT(T,U) inline bool chmin(T &a, U b){return b<a ? a=b,1 : 0;}
TMPLT(T,U) inline constexpr common_type_t<T,U> gcd(T x, U y) { return (x<y)? gcd(y,x) : (y <= 0)? x : gcd(y, x % y); }
TMPLT(T,U) inline constexpr ll lcm(T x, U y) { return (ll)x/gcd(x,y) * y; }
inline bool inner(int val, int min, int max){ return min <= val && val < max; }
constexpr int INF = 0x3f3f3f3f;
constexpr ll LINF = 0x3f3f3f3f3f3f3f3fLL;
namespace ydk{ // }}}
constexpr int MXN = ten(5) + 10;
signed _vim_is_god_()
{
int N, A, B;
int tmp;
pii a, b;
cin >> N >> tmp;
a = pii(tmp, 1);
rep(i, N-1) {
int x; cin >> x;
a.se *= x;
}
cin >> N >> tmp;
b = pii(tmp, 1);
rep(i, N-1) {
int x; cin >> x;
b.se *= x;
}
debug("a: %d %d\n", a.fi, a.se);
debug("b: %d %d\n", b.fi, b.se);
pii ans = pii(a.fi * b.se, a.se * b.fi);
int g = gcd(ans.fi, ans.se);
ans.fi /= g;
ans.se /= g;
if (ans.fi * ans.se < 0) {
ans.fi = -1 * abs(ans.fi);
ans.se = abs(ans.se);
}
cout << ans.fi << ' ' << ans.se << endl;
return 0;
}
} // {{{
signed main(){cout << fixed << setprecision(9); ydk::_vim_is_god_(); return 0;} // }}}
YDK1727