输入样例:
3
75 3
53 2
59 2
输出样例:
20 25
#include<bits/stdc++.h>
using namespace std;
const int N=1e5+10;
int a[N],b[N];//a是A的个数,b是B的个数
int n;
//查找最小
bool check_min(int mid)
{
for(int i=0;i<n;i++)
{
if(a[i]/mid>b[i])
return false;
}
return true;
}
//查找最大
bool check_max(int mid)
{
for(int i=0;i<n;i++)
{
if(a[i]/mid<b[i])
return false;
}
return true;
}
int main()
{
cin>>n;
for(int i=0;i<n;i++)
{
cin>>a[i]>>b[i];
}
int l=1,r=1e9;
while(l<r)
{
int mid=(l+r)/2;
if(check_min(mid))
r=mid;
else
l=mid+1;
}
cout<<l<<" ";
l=1,r=1e9;
while(l<r)
{
int mid=(l+r+1)/2;
if(check_max(mid))
l=mid;
else
r=mid-1;
}
cout<<r<<endl;
return 0;
}