打表找规律。
对于每个n当i>=sqrt(n)时可以分为根号n块,小于n的,每个独立为一块。
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int main()
{
int T;
scanf("%d",&T);
ll n,k;
while(T--)
{
scanf("%lld%lld",&n,&k);
ll q=sqrt(n),m;
if(n>=q*(q+1))
m=2*q;
else m=2*q-1;
if(k<=m/2)
printf("%lld %lld\n",m,n/k);
else printf("%lld %lld\n",m,m-k+1);
}
return 0;
}