为什么11点过不了
查看原帖
为什么11点过不了
1281213
hkjkjk楼主2024/8/18 14:48

第11过不了。。。。。。

#include<iostream>
#include<algorithm>
using namespace std;
int n,l=1,g[10005];
struct human
{
	int a,b,c;
}p[1005];
bool cmp(human x,human y)
{
	return x.c<y.c;
}
void mul(int x)
{
    for(int i=1;i<=l;i++)
		g[i]*=p[x].a;
    for(int i=1;i<=l;i++)
    {
        g[i+1]+=(g[i]/10);
        g[i]%=10;
    }
    l++;
    while(g[l]>9)
    {
        g[l+1]+=(g[l]/10);
        g[l]%=10;
        l++;
    }
    if(g[l]==0) l--;
}
void div()
{
    for(int i=l;i>=1;i--)
    {
        g[i-1]+=((g[i]%p[n].b)*10);
        g[i]/=p[n].b;
    }
    while(g[l]==0) l--;
    if(l==0) cout<<1<<endl;
}
int main()
{
	cin>>n;
	for(int i=0;i<=n;i++)
	{
		cin>>p[i].a>>p[i].b;
		p[i].c=p[i].a*p[i].b;
	}
	sort(p+1,p+n+1,cmp);
	g[1]=p[0].a;
	for(int i=1;i<n;i++)
		mul(i);
	div();
	for(int i=l;i>=1;i--)
		cout<<g[i];
	return 0;
}

2024/8/18 14:48
加载中...