FatMouse’ Trade
http://acm.hdu.edu.cn/showproblem.php?pid=1009
#include<bits/stdc++.h>
using namespace std;
struct sFJ{
int f,j;
double fj;
}FJ[1010];
bool cmp(sFJ x,sFJ y){
return x.fj>y.fj;
}
double ans;
int main()
{
int m,n,id,i;
while(scanf("%d %d",&m,&n)){
if(m==-1&&n==-1)break;//结束标志
for(i=1;i<=n;i++){
scanf("%d %d",&FJ[i].j,&FJ[i].f);
FJ[i].fj=1.0*FJ[i].j/FJ[i].f;
}//初始化
sort(FJ+1,FJ+1+n,cmp);
ans=0;
for(i=1;i<=n;i++){
if(m==0) break;
if(m>=FJ[i].f)ans+=FJ[i].j,m-=FJ[i].f;
else ans+=FJ[i].fj*m,m=0;
}
printf("%.3lf\n",ans);
}
return 0;
}