AC代码1
#include<cstring>
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<queue>
#include<cmath>
#include<stack>
#include<vector>
using namespace std;
int n , mi = 0 , mx = 1e9+13;
int main()
{
scanf("%d",&n);
while(n--)
{
int a , b ;
scanf("%d %d",&a,&b);
mx = min( mx , a/b);
mi = max( mi , a/(b+1) + 1 );
}
cout<<mi<<" "<<mx<<endl;
return 0;
}
AC代码2
#include<cstring>
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<queue>
#include<cmath>
#include<stack>
#include<vector>
using namespace std;
int n , mi = 0 , mx = 0x3f3f3f3f;
int main()
{
scanf("%d",&n);
while(n--)
{
int a , b ;
scanf("%d %d",&a,&b);
mx = min( mx , a/b);
int l = 1 , r = a , mid ;
while( l < r )
{
mid = ( l + r ) /2 ; // mid 代表属性 V
if( a / mid <= b ) r = mid ;
else l = mid + 1 ;
}
mi = max( mi , l );
}
cout<<mi<<" "<<mx<<endl;
return 0;
}