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>
#define mp make_pair
#define X first
#define Y second
using namespace std;
typedef long long ll;
typedef pair <int, int> ii;
int g, h;
void readInput(){
cin >> g >> h;
}
ll R(ll a, ll b){
cerr << "R " << a << ' ' << b << endl;
if (b == 1)
return a;
if (a < b)
return R(b, a);
return R(a / b, b);
}
void solve(){
ll l = 1, r = 1;
while ((l + g - 1) / g * g > r || l <= g){
l *= h;
r = r * h + h - 1;
}
ll a = (l + g - 1) / g * g;
ll b = h * a + g;
//assert(__gcd(a, b) == g);
//assert(R(a, b) == h);
cout << a << ' ' << b << '\n';
}
int main(){
ios_base::sync_with_stdio(0);
cin.tie(0);
int t;
cin >> t;
while (t--){
readInput();
solve();
}
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... |