This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
typedef long double ld;
typedef long long ll;
const ld E = 1e-9;
const ll N = 2010;
ll h, g;
ll R(ll a, ll b){
if (min(a, b) == 1) return max(a, b);
if (b > a)
return R(b / a, a);
else return R(a / b, b);
}
int main(){
ios_base::sync_with_stdio(0); cin.tie(0);
#ifdef _LOCAL
freopen("in.txt","r",stdin);
#endif // _LOCAL
// cerr << R(36, 130) << '\n';
// cerr << R(38, 137) << '\n';
// cerr << R(26, 91) << '\n';
// cerr << R(28, 98) << '\n';
// cerr << R(40, 120) << '\n';
//
// return 0;
ll qq; cin >> qq;
for (; qq; qq--){
cin >> g >> h;
if (h <= g){
if (g == h){
cout << g << " " << g << '\n';
continue;
}
for (ll i = g + g; ; i += g)
if (R(i, h) == h) {
// cout << i << " " << i * h + g << '\n';
cout << ll(i) * ll(h) + ll(g) << " " << i << '\n';
break;
}
continue;
}
ll beg = g * ((h + g - 1) / g);
for (ll i = g; ; i += beg)
if (__gcd(i, beg) == g && R(i, beg) == h){
cout << beg << " " << i << '\n';
break;
}
}
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |