#include<bits/stdc++.h>
using namespace std;
struct node
{
double a;
double b;
double x;
}p[1010];
bool cmp(node z,node b)
{
return z.x>b.x;
}
int main(void)
{
double m;
int n;
int i,j;
while(scanf("%lf %d",&m,&n)!=EOF)
{
double s=0;
if(m==-1&&n==-1)
break;
for(i=0;i<n;i++)
{
scanf("%lf %lf",&p[i].a,&p[i].b);
}
for(i=0;i<n;i++)
{
p[i].x=p[i].a*1.0/p[i].b;
}
sort(p,p+n,cmp);
for(i=0;i<n&&m>0;i++)
{
if(m>=p[i].b)
{
s+=p[i].a;
m-=p[i].b;
}
else
{
s+=p[i].x*m;
break;
}
}
printf("%.3f\n",s);
}
return 0;
}
07-26
324
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交