比赛 CSP2022普及组 评测结果 AAAAAAAAAA
题目名称 解密 最终得分 100
用户昵称 op_组撒头屯 运行时间 0.238 s
代码语言 C++ 内存使用 0.00 MiB
提交时间 2022-10-29 17:45:22
显示代码纯文本
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
ll n,e,d; 
ll calc(ll x){
	ll l=0,r=1e9;
	while(l<r){
		ll mid=(l+r)/2;
		if (mid*mid<=x)l=mid+1;
		else r=mid;
	}
	return l-1;
}
int main(){
	freopen ("csp2022pj_decode.in","r",stdin);
	freopen ("csp2022pj_decode.out","w",stdout);
	int T;scanf("%d",&T);
	while(T--){
		scanf("%lld%lld%lld",&n,&e,&d);
		ll m=n-e*d+2;
		ll d=m*m-4*n;
		if (d<0){
			printf("NO\n");continue;
		}
		ll s=calc(d);
		if (s*s!=d||m-s<=0||(m-s)%2!=0){
			printf("NO\n");continue;
		}
		printf("%lld %lld\n",(m-s)/2,(m+s)/2);
	}
	return 0;
}