萌新求助,第一个点WA,剩下四个点AC
查看原帖
萌新求助,第一个点WA,剩下四个点AC
303977
屑梨子楼主2021/2/15 22:31

萌新初学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=double(b[i].v)/double(b[i].m)*1.0;
    }
    std::sort(b,b+n,cmp);
    while(t>0)
    {
        for(int i=0;i<n;i++)
        {
            if(b[i].m<=t)
            {
                t=t-b[i].m;
                xs=xs+b[i].xjb*b[i].m;
				
            }
            else
            {
            	xs = xs + 1.0 * t * b[i].xjb;
				t = 0;
            }
        }
    }
    printf("%.2lf",xs);
    return 0;
}
2021/2/15 22:31
加载中...