求助,第一个点re
查看原帖
求助,第一个点re
671260
Nekomusume楼主2022/3/22 20:48
#include <algorithm>
#include <iostream>
#include <iomanip>
using namespace std;

struct coin
{
    double m, v, value;
}c[110];

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

int main()
{
    int n, t;
    double ans = 0.0;
    cin >> n >> t;
    for(int i = 1; i <= n; i++)
    {
        cin >> c[i].m >> c[i].v;
        c[i].value = c[i].v / c[i].m;
    }sort(c + 1, c + n + 1, cmp);
    int sum;
    for(int i = 1; i <= n; i++)
    {
        if(t >= c[i].m)
        {
            t -= c[i].m;
            ans += c[i].v;
        }else{sum = i; break;}
    }
    ans += c[sum].value * t;
    cout << fixed << setprecision(2) << ans << endl;
    return 0;
}
2022/3/22 20:48
加载中...