萌新求助,第一个点RE,剩下四个点WA
查看原帖
萌新求助,第一个点RE,剩下四个点WA
303977
屑梨子楼主2021/2/14 14:20

萌新初学OI,代码写的不好

#include<bits/stdc++.h>
struct jb
{
    int m,v;
	double xjb;
};
bool cmp(jb a,jb b)
{
    return a.xjb>b.xjb;
}
int main()
{
    int n,t;
	double xs=0;
	jb b[101];
	scanf("%d%d",&n,&t);
	for(int i=0;i<=n;i++)
	{
        scanf("%d%d",&b[i].m,&b[i].v);
		b[i].xjb=b[i].v/b[i].m;
	}
	std::sort(b,b+n,cmp);
	while(t>0)
	{
        for(int i=0;i<=n;i++)
        {
            if(b[i].v<=t)
            {
                t=t-b[i].v;
                xs=xs+b[i].v;
            }
            else
            {
                for(int j=n;j>=0;j--)
                {
                    if(b[i].xjb*j<=t)
                    {
                        t=t-b[i].xjb*j;
                        xs=xs+b[i].xjb*j;
                    }
                }
            }
        }
    }
	printf("%.2lf",xs);
    return 0;
}
2021/2/14 14:20
加载中...