社区讨论

二分爆零求助

P8814[CSP-J 2022] 解密参与者 5已保存回复 7

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
7 条
当前快照
1 份
快照标识符
@lo7m8g8b
此快照首次捕获于
2023/10/27 04:07
2 年前
此快照最后确认于
2023/10/27 04:07
2 年前
查看原帖
CPP
#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;
}

回复

7 条回复,欢迎继续交流。

正在加载回复...