#include<cstdio>
#include<vector>
#include<algorithm>
using namespace std;
struct info
{
double j;
double f;
};
bool cmp(info a,info b)
{
if(a.j/a.f > b.j/b.f) return 1;
else return 0;
}
int main()
{
int m,n;
double sum;
info t;
vector<info> s;
while(scanf("%d %d",&m,&n),m+n!=-2)
{
sum=0;
for(int i=0;i<n;i++)
{
scanf("%lf %lf",&t.j,&t.f);
s.push_back(t);
}
sort(s.begin(),s.end(),cmp);
for(int i=0;i<s.size();i++)
{
if(s[i].f<=m) {m-=s[i].f;sum+=s[i].j;}
else {sum+=m*s[i].j/s[i].f;m=0;}
}
printf("%.3lf\n",sum);
s.clear();
}
return 0;
}
FatMouse' Trade tzc
最新推荐文章于 2022-05-09 20:02:28 发布