交换猫粮
#include <iostream>
#include <cstdio>
#include <iomanip>
#include <algorithm>
struct p{
int mao,cost;
double ave;
}num[1100];
bool cmp(p x,p y)
{
return x.ave>y.ave;
}
using namespace std;
int main(){
int money,n;
int i;
while(cin>>money>>n && !(money==-1 && n==-1))
{
double sum=0;
for(i=0;i<n;i++)
{
cin>>num[i].mao>>num[i].cost;
num[i].ave=num[i].mao*1.0/num[i].cost;
}
sort(num,num+n,cmp);
for(i=0;i<n;i++)
{
if(money<num[i].cost)
{
sum+=money*num[i].ave;
break;
}else{
sum+=num[i].mao;
money-=num[i].cost;
}
}
cout<<fixed;
cout.precision(3);
cout<<sum<<endl;
}
return 0;
}