#include<iostream>
#include<algorithm>
#define int long long
using namespace std;
int _mul(int a,string b){
return a*stoi(b);
}
int _div(int a,int b){
return a/b;
}
int _max(int a,int b){
return max(a,b);
}
struct z{
int l,r;
};
bool cmp(z a,z b){
return a.l*a.r<b.l*b.r;
}
int n,l,r,sum,ans=0;z a[100000];
signed main(){
cin>>n>>l>>r;
for(int i=0;i<n;i++)cin>>a[i].l>>a[i].r;
sort(a,a+n,cmp);
sum=l;
for(int i=0;i<n;i++){
ans=_max(ans,(_div(sum,a[i].r)));
sum=_mul(sum,to_string(a[i].l));
}
cout<<ans;
return 0;
}
#include<iostream>
#include<string>
#include<algorithm>
#define int long long
using namespace std;
string _mul(string a1,string b1){
int a[10001],b[10001],c[10001];
int lena=a1.size();
int lenb=b1.size();
int lenc=lena+lenb;
for(int i=0;i<lena;i++){
a[i]=a1[lena-i-1]-'0';
}
for(int i=0;i<lenb;i++){
b[lenb-i-1]=b1[i]-'0';
}
for(int i=0;i<lena;i++){
for(int j=0;j<lenb;j++)
{
c[i+j]+=a[i]*b[j];
if(c[i+j]>=10)
{
c[i+j+1]+=c[i+j]/10;
c[i+j]%=10;
}
}
}
while(lenc>1&&c[lenc-1]==0){
lenc--;
}
string s;
for(int i=lenc-1;i>=0;i--){
s+=c[i]+'0';
}
return s;
}
string _div(string a1,int b){
int a[10001],c[10001];
int lena=a1.size();
for(int i=0;i<lena;i++){
a[i]=a1[i]-'0';
}
long long r=0,cnt=0;
for(int i=0;i<lena;i++){
r=r*10+a[i];
cnt++;
c[cnt]=0;
if(r>=b)
{
c[cnt]=r/b;
r%=b;
}
}
int i=0;
while(c[i]==0&&(cnt-i)>0){
i++;
}
string s;
for(;i<=cnt;i++){
s+=c[i]+'0';
}
return s;
}
string _max(string a,string b){
if(a.length()<b.length())return b;
if(a.length()>b.length())return a;
for(int i=0;i<a.length();i++)if(a[i]-'0'<b[i]-'0')return b;else if(a[i]-'0'>b[i]-'0')return a;
return a;
}
struct z{
int l,r;
};
bool cmp(z a,z b){
return a.l*a.r<b.l*b.r;
}
long long n;string l,r,sum,ans="0";z a[100000];
signed main(){
cin>>n>>l>>r;
for(int i=0;i<n;i++)cin>>a[i].l>>a[i].r;
sort(a,a+n,cmp);
sum=l;
for(int i=0;i<n;i++){
ans=_max(ans,(_div(sum,a[i].r)));
sum=_mul(sum,to_string(a[i].l));
}
cout<<ans;
return 0;
}
高精函数我测试的是没问题的 这代码都快一模一样了,前面那个低精度60 后面那个只过了subject2