#include<stdio.h>
#include<algorithm>
using namespace std;
struct P
{
double weight;
double pay;
}s[1000];
int cmp(P a,P b)
{
return a.pay/a.weight<b.pay/b.weight;
}
int main()
{
int n,i,j;
double sum,m;
while(scanf("%lf%d",&m,&n)&&m!=-1&&n!=-1)
{
sum=0.0;
for(i=0;i<n;i++)
{
scanf("%lf%lf",&s[i].weight,&s[i].pay);
}
sort(s,s+n,cmp);
for(i=0;i<n;i++)
{
if(m>=s[i].pay)
{
sum+=s[i].weight;
m-=s[i].pay;
}
else
{
sum+=m/s[i].pay*s[i].weight;
break;
}
}
printf("%.3f\n",sum);
}
return 0;
}
点击打开链接