#include<bits/stdc++.h>
using namespace std;
int k;
int main(){
scanf("%d",&k);
while(k--){
long long n,d,e;
scanf("%lld %lld %lld",&n,&d,&e);
long long m=n-e*d+2;
int p,q;
int l=0,r=m;
bool f=0;
while(l<=r){
p=(l+r)/2;
q=m-p;
if(1ll*p*q==n){
if(1ll*e*d==1ll*(p-1)*(q-1)+1){
f=1;
printf("%d %d\n",min(p,q),max(p,q));
break;
}
}
if(p*q>n){
r=p-1;
}
if(p*q<n){
l=p+1;
}
}
if(!f){
printf("NO\n");
}
}
return 0;
}
为啥写二分只能五十,是这个二分哪里有问题吗,
求大佬解答!