不知为什么啊,只有20分,求助大佬
查看原帖
不知为什么啊,只有20分,求助大佬
743494
FRANXX_楼主2023/1/13 11:46
#include<bits/stdc++.h>
using namespace std;
int n,t;
double nowt,ans;
struct node
{
    int a,b;
    double v;
};
bool cmp(node a,node b)
{
    return a.v>b.v;
}
node a[10009];
int main()
{
    scanf("%d%d",&n,&t);nowt=t;
    for(int i=1;i<=n;++i)
    {
        scanf("%d%d",&a[i].a,&a[i].b);
        a[i].v=a[i].b/a[i].a;
    }
    sort(a+1,a+n+1,cmp);
    for(int i=1;i<=n;++i)
    {
        if(a[i].a<nowt-0.000001) ans+=a[i].b,nowt-=a[i].a;
        else 
        {
            ans+=nowt*a[i].v;
            break;
        }
    }
    printf("%.2lf",ans);
    return 0;
}
2023/1/13 11:46
加载中...