求助,必关
查看原帖
求助,必关
1416871
codelate楼主2024/12/21 10:00
using namespace std;
struct people{
	int a,b;
}ps[10005];
int s[10000000]={1},ans[1000000],slen=1;
bool cmp(people p1,people p2){return p1.a*p1.b<p2.a*p2.b;}
void mul(int n);
void div(int n);
void print();
int main(){
	ios::sync_with_stdio(false);
	cin.tie(0);
	cout.tie(0);
	int n;
	cin>>n;
	for(int i=0;i<=n;i++)cin>>ps[i].a>>ps[i].b;
	sort(ps+1,ps+n+1,cmp);
	for(int i=0;i<n;i++){
		mul(ps[i].a);
	}
	div(ps[n].b);
	print();
	return 0;
}
void mul(int n){
	for(int i=0;i<slen;i++)s[i]*=n;
	int temp=0;
	for(int i=0;i<slen;i++){
		temp=temp+s[i];
		s[i]=temp%10;
		temp/=10;
	}
	while(temp!=0){
		s[slen]=temp%10;
		slen++;
		temp/=10;
	}
	return;
}
void div(int n){
	int temp=0;
	for(int i=slen-i;i>=0;i--){
		temp=temp*10+s[i];
		ans[i]=temp/n;
		temp%=n;
	}
	return;
}
void print(){
	int temp=slen;
	while(ans[temp]==0){
		temp--;
		if(temp==-1){
			cout<<1;
			return;
		}
	}
	for(int i=temp;i>=0;i--){
		cout<<ans[i];
	}
	return;
}```

c++里编译运行通过,洛谷里编译失败,求助
2024/12/21 10:00
加载中...