#include<bits/stdc++.h>
using namespace std;
struct coin
{
float m,v;
}coi[110];
bool cmp(coin x,coin y)
{
return x.v*y.m>y.v*x.m;
}
int main()
{
int n,t;
float ans=0;
scanf("%d%d",&n,&t);
for(int i=0;i<n;i++)
cin>>coi[i].m>>coi[i].v;
sort(coi,coi+n,cmp);
while(t>0)
{
int j=0;
t-=coi[j].m;
if(t<0)
{
t+=coi[j].m;
float a=coi[j].v/coi[j].m;
ans=ans+t*a;
break;
}
ans+=coi[j].v;
j++;
}
printf("%.2lf",ans);
return 0;
}
自己输得简单样例能过但过不了题(全wa)