FatMouse’ Trade添加链接描述
#include <stdio.h>
#include<iostream>
#include<string.h>
#include<algorithm>
const int maxn=1005;
using namespace std;
struct shuzu{
double a,b,c;
};
bool cmp(shuzu x,shuzu y)
{
if (x.c>=y.c)
return 1;
else return 0;
}
shuzu a[maxn];
int main()
{
int n;
double wode;
while (scanf("%lf %d",&wode,&n)==2){
if (wode==-1&&n==-1){
break;
}
int i;
for (i=0;i<n;i++){
scanf("%lf %lf",&a[i].a ,&a[i].b );
a[i].c =a[i].a /a[i].b ;
}
double sum=0;
sort (a,a+n,cmp);
for (i=0;i<n&&wode>0;i++){
if(wode-a[i].b >=0){
sum=sum+a[i].a ;
wode=wode-a[i].b ;
}
else {
sum=sum+wode*a[i].c ;
break;
}
}
printf("%.3f\n",sum);
}
return 0;
}