代码如下:
#include <bits/stdc++.h>
using namespace std;
struct node
{
int m,v;
} a[105];
bool cmp(node p,node q)
{
return p.v*q.m>q.v*p.m;
}
int n,t;
double ans;
int main()
{
scanf("%d%d",&n,&t);
for(int i=1; i<=n; ++i) scanf("%d%d",&a[i].m,&a[i].v);
sort(a+1,a+n+1,cmp);
for(int i=1; i<=n; ++i)
{
if(a[i].m<=t)
{
t-=a[i].m;
ans+=a[i].v;
}
else
{
ans+=a[i].v*t*1.0/(a[i].m*1.0);
break;
}
}
printf("%.2llf",ans);
return 0;
}