#include <iostream>
#include <cmath>
#define M 1030
using namespace std;
struct N
{
int J, F;
double j;
bool operator < (const N &cmp) const
{
return j>cmp.j;
}
}a[M];
int main()
{
int n, m, i, p;
while (~scanf("%d %d", &m, &n))
{
if (m==-1 && n==-1) break;
for (i=0;i<n;++i)
{
scanf("%d %d", &a[i].J, &a[i].F);
a[i].j = a[i].J * 1.0 / a[i].F;
}
sort(a, a+n);
double ans = 0.0;
for (i=0;i<n;++i)
{
if (a[i].F>m) break;
m -= a[i].F;
ans += a[i].J;
}
if (i<n) //此行没写WA了两遍。。。
ans += a[i].j * m;
printf("%.3f\n", ans);
}
return 0;
}
hdu 1009
最新推荐文章于 2018-03-02 11:35:31 发布