4956. 冶炼金属
作者:
鱼粥行径
,
2025-04-11 13:31:34
· 四川
,
所有人可见
,
阅读 6
#include <iostream>
using namespace std;
typedef long long LL;
const int N = 10010;
int n;
int a[N], b[N];
bool check_min(int V){
for(int i=1; i<=n; i++){
if(a[i] / V > b[i]) return false;
}
return true;
}
bool check_max(int V){
for(int i=1; i<=n; i++){
if(a[i] / V < b[i]) return false;
}
return true;
}
int main(){
cin >> n;
for(int i=1; i<=n; i++)
cin >> a[i] >> b[i];
LL l = 1, r = 1e9;
while(l < r){
LL mid = l + r >> 1;
if(check_min(mid)) r = mid;
else l = mid + 1;
}
cout << l << ' ';
l = 1, r = 1e9;
while(l < r){
LL mid = l + r + 1 >> 1;
if(check_max(mid)) l = mid;
else r = mid - 1;
}
cout << l << endl;
return 0;
}