比赛 |
CSP2022普及组 |
评测结果 |
AAAAAAAAAA |
题目名称 |
解密 |
最终得分 |
100 |
用户昵称 |
CCF_NOI |
运行时间 |
0.193 s |
代码语言 |
C++ |
内存使用 |
0.00 MiB |
提交时间 |
2022-10-29 15:41:28 |
显示代码纯文本
#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;
}