1 条题解

  • 1
    @ 2025-12-1 16:25:04
    #include<bits/stdc++.h>
    using namespace std;
    struct coin{
        int m,v;
    }a[110];
    int n,t,c,i;
    bool cmp(coin a,coin b){
        return a.v*b.m>a.m*b.v;
    }
    float ans=0;
    int main(){
        scanf("%d%d",&n,&t);
        c=t;
        for(i=0;i<n;i++)
            scanf("%d%d",&a[i].m,&a[i].v);
        sort(a,a+n,cmp);
        for(i=0;i<n;i++){
            if(a[i].m>c)
                break;
            c-=a[i].m;
            ans+=a[i].v;
        }
        if(i<n)
            ans+=1.0*c/a[i].m*a[i].v;
        printf("%.2lf",ans);
        return 0;
    }
    
    • 1

    信息

    ID
    4732
    时间
    1000ms
    内存
    125MiB
    难度
    3
    标签
    递交数
    7
    已通过
    5
    上传者