为什么输出很多都是NO呢
是枚举范围的问题吗?
#include<bits/stdc++.h>
using namespace std;
int n,e,d,k,m;
bool flag;
int main()
{
cin>>k;
for(int i=1; i<=k; i++)
{
flag=true;
cin>>n>>d>>e;
int l=1,r=m/2;
m=n-e*d+2;
while(l<r)
{
int p=(l+r)/2;
int q=m-p;
if(p*q<n) l=p+1;
else if(p*q>n) r=p-1;
else
{
cout<<p<<" "<<q<<"\n";
flag=false;
break;
}
}
if(flag)
cout<<"NO\n";
}
return 0;
}
卡了好久了