
#include<iostream>
#include<cmath>
using namespace std;
typedef long long ll;
int t;
ll n,s;
ll min(ll n1,ll n2){
return n1>n2?n2:n1;
}
ll solve(const ll & n,const ll & s){
ll ret;
if(s<=sqrt(n)){
//如果n/s>s的话说明,没必要用第三种魔法,直接一步一步走就可以
ret=s-1;
}else{
ll temp=n/s;
ret=temp+abs(n/temp-s);
temp++;
ret=min(ret,temp+abs(n/temp-s));
}
return ret;
}
int main()
{
cin>>t;
while(t--){
cin>>n>>s;
cout<<solve(n,s)<<endl;
}
return 0;
}

1435

被折叠的 条评论
为什么被折叠?



