0 求助
查看原帖
0 求助
1051379
MYD_DL24楼主2025/8/5 10:17
#include <bits/stdc++.h>
using namespace std;
struct gold {
    int m,v,b,single;
}c[1919810];

bool cmp(gold a,gold b){
    return a.b > b.b;
}

int n,t;

int main(){
    int n,t;cin >> n>>t;
    for (int i = 1;i <= n;i++){
        cin >> c[i].m >> c[i].v;
        c[i].b = c[i].v / c[i].m;
        c[i].single = c[i].b;
    }

    sort(c+1,c+n+1,cmp);
    double has = 0,value = 0;
    for (int i = 1;i <= n;i++){
        for (int j = 1;j <= c[i].m;j++){
            if (has >= t){
                printf("%.2f",value);return 0;
            }
            else {
                value += c[i].b;
                has++;
                
            }
        }
    }
    printf("%.2lf",value);
    return 0;
}

样例过了 测试点一个没过

2025/8/5 10:17
加载中...