编辑代码

#include <iostream>
#include <algorithm>
using namespace std;

int n,t;
double sum;
struct node
{
    int m,v;
    double dv;
}a[114];

bool cmp(node n1,node n2)
{
    return n1.dv > n2.dv;
}

int main() {
    cin>>n>>t;
    for(int i = 1;i <= n;i++)
    {
        cin>>a[i].m>>a[i].v;
        a[i].dv = 1.00*a[i].v / a[i].m;
    }
    sort(a + 1,a + n + 1,cmp);

    for(int i = 1;i <= n;i++)
    {
        if(t > a[i].m)
        {
            sum += a[i].v;
            t -= a[i].m;
        }
        else
        {
            sum += t * a[i].dv;
            break;
        }
    }
    printf("%.2lf",sum);
	return 0;
}