QOJ.ac

QOJ

IDSubmission IDProblemHackerOwnerResultSubmit timeJudge time
#887#586906#9381. 502 Bad Gatewayyeah14yeah14Failed.2024-09-24 16:29:242024-09-24 16:29:26

Details

Extra Test:

Invalid Input

input:

1
0

output:


result:

FAIL Integer parameter [name=~n~] equals to 0, violates the range [1, 10^9] (test case 1, stdin, line 2)

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#586906#9381. 502 Bad Gatewayyeah14AC ✓400ms3644kbC++17743b2024-09-24 16:28:412024-09-24 16:28:42

answer

#include<bits/stdc++.h>
using namespace std;
#define ll long long
ll __gcd(ll x, ll y) {
	if (y == 0)return x;
	else return __gcd(y, x % y);
}
void solve() {
	ll n;
	cin >> n;
	ll k = sqrt(2 * n);
	ll x1 = k * k - k + 2 * n;
	ll x2 = (k + 1) * (k + 1) - (k+1)+2 * n;
	ll y1 = 2 * k;
	ll y2 = 2 * (k + 1);
	double ans1 = double(x1) / double(y1), ans2 = double(x2) / double(y2);
	{
		ll k = 0;
		if (ans1 < ans2) {
		k = __gcd(x1, y1);
		x1 /= k;
		y1 /= k;
		cout << x1 << " " << y1 << endl;
		}
		else {
		k = __gcd(x2, y2);
		x2 /= k;
		y2 /= k;
		cout << x2 << " " << y2 << endl;
		}
	}
}

int main() {
	ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	int t = 1;
	cin >> t;
	while (t--)solve();
}