各位大佬,萌新求救,不知那部分出现问题,过不去。
查看原帖
各位大佬,萌新求救,不知那部分出现问题,过不去。
351042
kardsOI楼主2020/12/1 17:17
#include<bits/stdc++.h>
using namespace std;
long long n,t,m[110],v[110],p;
double j[110],bj,c,k;
int main()
{
        cin>>n>>t;
        for(int i=1;i<=n;i++)
        {
            cin>>m[i]>>v[i];
            j[i]=double(v[i]*1.00/(m[i]*1.00));
        }
        k=1;
        while(t!=0&&k!=n)
        {
            bj=-0.0001;
            p=0;
            for(int i=1;i<=n;i++)
            {
                if(j[i]>bj)
                {
                    p=i;
                    bj=j[i];
                }
            }
            if(t<m[p])
            {
                c+=double(double(v[p])*double(double(t)/double(m[p])))*1.00;
                t=0;
            }
            else
            {
                c+=v[p];
                t-=m[p];
                v[p]=0;
                m[p]=0;
            }
            v[p]=0;
            m[p]=0;
            j[p]=0;
            k++;
        }1
        printf("%.2lf",c);
}
2020/12/1 17:17
加载中...