4.27
第十四届蓝桥杯省赛 C++ B 组]冶炼金属
#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;
const int N=10010;
int n,a,b;
int main()
{
cin>>n;
int vmin=1,vmax=1e9; //a=b时有vmin=1; b=1时有vmax=a,amax=1e9
while(n--){
cin>>a>>b;
int l=0,r=1e9+1;
while(l+1<r){
int mid=(l+r)/2;
if(a/mid<b)
r=mid;
else
l=mid;
}
vmax=min(vmax,l); //vmax-->所有最大值里最小的
l=0,r=1e9+1;
while(l+1<r){
int mid=(l+r)/2;
if(a/mid<=b)
r=mid;
else
l=mid;
}
vmin=max(vmin,r); //vmin-->所有最小值里最大的
}
cout<<vmin<<" "<<vmax;
return 0;
}