Nothing is compiled: OUTPUT exceeds.
查看原帖
Nothing is compiled: OUTPUT exceeds.
1188358
Yosuga_sora楼主2024/2/15 18:36
#include <bits/stdc++.h>
using namespace std;
struct people{
	int a,b;
}ps[10005];
int s[10000000]={1},ans[10000000],slen=1;
bool cmp(people p1,people p2){
	return p1.a*p1.b<p2.a*p2.b;	
}
void mul(int n){
	int tem=0;
	for(int i=0;i<slen;i++)s[i]*=n;
	for(int i=0;i<slen;i++){
		tem=tem+s[i];
		s[i]=tem%10;
		tem/=10;
	}
	while(tem!=0){
		s[slen]=tem%10;
		slen++;
		tem/=10;
	}
	return ;
}
void dvi(int n){
	int tem=0;
	for(int i=slen-1;i>=0;i--){
		tem=tem*10+s[i];
		ans[i]=tem/n;
		tem%=n;
	}
	return ;
}
void print(){
	int tem=slen;
	while(ans[tem]==0){
		tem--;
		if(tem==-1){
			cout<<1;
			return ;
		}	
	}
	for(int i=tem;i>=0;i--){
		cout<<ans[i];
	}
	return ;
}
int main(){
	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);
	}
	dvi(ps[n].b);
	print();
	return 0;
}
2024/2/15 18:36
加载中...