求条玄关(20pts)
查看原帖
求条玄关(20pts)
564696
MSX78楼主2024/11/22 22:01

代码如下

#include <bits/stdc++.h>
using namespace std;

struct coin{
    int m, v;
    double xjb;
} a[105];

bool cmp(coin A, coin B){
    return A.xjb>B.xjb;
}

int main(){
    int n, t;
    cin >> n >> t;
    for(int i = 1;i <= n;i++){
        cin >> a[i].m >> a[i].v;
        a[i].xjb = a[i].v/a[i].m*1.0;
    }
    double ans = 0;
    sort(a+1,a+n+1,cmp);
    for(int i = 1;i <= n;i++){
        if(t>=a[i].m){
            ans += a[i].v;
            t-=a[i].m;
        }
        else{
            ans += a[i].xjb*t;
            break;
        }
    }
    printf("%.2lf",ans);
    return 0;
}

20pts,后四个点WA了

2024/11/22 22:01
加载中...