样例错误,求助
查看原帖
样例错误,求助
681036
OldDriverTree楼主2022/10/29 15:46

我用"和一定差小积大"来二分答案,然后连样例都没过

#include<bits/stdc++.h>
using namespace std;
signed main()
{
	long long _,n,d,e,sum,p,q;
	scanf("%d",&_);
	while (_--)
	{
		scanf("%d%d%d",&n,&d,&e);
		sum=n-d*e+2;
		long long l=1,r=sum/2,mid;
		while (l<=r)
		{
			mid=(l+r)>>1;
			if (mid*(sum-mid)<=n) l=mid+1;
			else r=mid-1;
		}
		p=l-1,q=sum-p+1;
		if (p*q==n&&(p-1)*(q-1)+1==e*d) printf("%lld %lld\n",p,q);
		else printf("NO\n");
	}
	return 0;
}
2022/10/29 15:46
加载中...