友友们第一个测试点RE了帮忙看下谢谢谢
查看原帖
友友们第一个测试点RE了帮忙看下谢谢谢
995829
HXR_Baichuan楼主2023/8/22 23:06
#include<bits/stdc++.h>
using namespace std;
struct stu{
    double m,v,sing;
}a[1000];
bool cmp(stu a,stu b)
{
    return a.sing>b.sing;
}
int main()
{
    int n;
	double mm;
    cin>>n>>mm;
    for(int i=1;i<=n;i++)
    {
        cin>>a[i].m>>a[i].v;
        a[i].sing=a[i].v/a[i].m;
//        cout<<a[i].sing<<" ";
    }
    sort(a+1,a+n+1,cmp);
    int cnt=1;
    double ans=0;
    while(mm)
    {
        if(mm>a[cnt].m)
        {
            ans+=a[cnt].v;
            mm-=a[cnt].m;
            cnt++;
        }
        else
        {
            ans+=a[cnt].sing*mm;
            mm=0;
        }
    }
    printf("%.2f",ans);
    return 0;
}
2023/8/22 23:06
加载中...