二分爆零求助
查看原帖
二分爆零求助
553199
biguo楼主2022/11/6 08:59
#include<bits/stdc++.h>
using namespace std;
int k,n,e,d,m; 
int main(){
	scanf("%d",&k);
    while(k--){
    	scanf("%d%d%d",&n,&e,&m);
    	m=n-e*d+2;
    	int l=1,r=m;
    	bool flag=false;
    	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{
    			printf("%d %d\n",p,q);
    			flag=true;
    			break;
			}
		}
		if(!flag) printf("NO\n");
	}
    return 0;
}
2022/11/6 08:59
加载中...