二分神奇做法
  • 板块P11184 带余除法
  • 楼主heyZZZ
  • 当前回复1
  • 已保存回复1
  • 发布时间2024/10/13 14:10
  • 上次更新2024/10/13 16:19:05
查看原帖
二分神奇做法
1015977
heyZZZ楼主2024/10/13 14:10

rt

#include<bits/stdc++.h>
#define int long long
using namespace std;
int T,n,k;
signed main(){
	// freopen("division.in","r",stdin);
	// freopen("division.out","w",stdout);
	cin>>T;
	while(T--){
		cin>>n>>k;
		if(k==0) cout<<1;
		else{
			int l=1,r=n/k,ans=n/k+1;
			while(l<=r){
				int mid=(l+r)/2;
				if(n/mid==k) r=mid-1,ans=mid;
				else l=mid+1;
			}
			cout<<n/k-ans+1;
		}cout<<'\n'; 
	}
} 
2024/10/13 14:10
加载中...