记录编号 577668 评测结果 AAAAAAAAAA
题目名称 [CSP 2022J]解密 最终得分 100
用户昵称 Gravatar┭┮﹏┭┮ 是否通过 通过
代码语言 C++ 运行时间 0.238 s
提交时间 2022-11-20 16:36:49 内存使用 0.00 MiB
显示代码纯文本
#include <bits/stdc++.h> 
using namespace std;
typedef long long ll;
ll k,n,e,d,m,l,r;
bool f;
int main(){
	freopen("csp2022pj_decode.in","r",stdin);
	freopen("csp2022pj_decode.out","w",stdout);
	cin>>k;
	while(k--){
		f = 1;
		scanf("%lld%lld%lld",&n,&e,&d);
		m = n - (e * d) + 2;
		l = 1,r = (m+1) >> 1;
		//cout<<m<<' '<<l<<' '<<r<<endl; 
		while(l <= r){
			ll mid = (l + r) >> 1;
			ll q = mid * (m - mid);
			if(q == n){
				printf("%lld %lld\n",mid,m-mid);
				f = 0;
				break;
			}
			else if(q > n){
			if(l == r)break;
			r = mid;	
			}
			else l = mid+1;
		}
		if(f == 1)printf("NO\n");
	}
	
	return 0;
}