50 lines
1.0 KiB
C++
50 lines
1.0 KiB
C++
// lanqiao 3510 冶炼金属
|
|
#include<bits/stdc++.h>
|
|
using namespace std;
|
|
#define int long long
|
|
const int N = 1e4 + 10;
|
|
int a[N], b[N];
|
|
//枚举法
|
|
signed main(){
|
|
int n; cin >> n;
|
|
int mxv = LLONG_MIN, miv = LLONG_MAX;
|
|
for(int i = 1; i <= n; i++){
|
|
cin >> a[i] >> b[i];
|
|
if(b[i] != 1) mxv = max(mxv, a[i]/(b[i] - 1));
|
|
miv = min(miv, a[i]/(b[i] + 1));
|
|
}
|
|
|
|
for(int v = miv; v <= mxv; v++){
|
|
bool flag = true;
|
|
for(int i = 1; i <= n; i++){
|
|
if(a[i] / v != b[i]){
|
|
flag = false;
|
|
break;
|
|
}
|
|
}
|
|
if(flag){
|
|
cout << v << " ";
|
|
break;
|
|
}
|
|
}
|
|
for(int v = mxv; v >= miv; v--){
|
|
bool flag = true;
|
|
for(int i = 1; i <= n; i++){
|
|
if(a[i] / v != b[i]){
|
|
flag = false;
|
|
break;
|
|
}
|
|
}
|
|
if(flag){
|
|
cout << v << endl;
|
|
break;
|
|
}
|
|
}
|
|
return 0;
|
|
}
|
|
/* test samples
|
|
3
|
|
75 3
|
|
53 2
|
|
59 2
|
|
*/ |