View Code
Problem : 1009 ( FatMouse' Trade ) Judge Status : Accepted
RunId : 5737621 Language : C++ Author : billforum
Code Render Status : Rendered By HDOJ C++ Code Render Version 0.01 Beta
#include <iostream>
#include <algorithm>
#include <stdio.h>
using namespace std;
const int N=1005;
int java[N],food[N];
double p[N];
int main()
{
int m,n;
double ans;
while(scanf("%d %d",&m,&n)==2)
{
if(m==-1&&n==-1) break;
ans=0;
for(int i=0;i<n;i++)
{
scanf("%d %d",&java[i],&food[i]);
p[i]=(java[i]*1.0)/food[i];
}
//sort(p,p+n,cmp);
int j=-1;
double mint;
while(m>0)
{
j=-1;
mint=0;
for(int i=0;i<n;i++)
{
if(p[i]>mint)
{
mint=p[i];
j=i;
}
}
if(j==-1) break;
if(m>=food[j])
{
m-=food[j];
ans+=java[j];
p[j]=0;
}
else
{
ans+=m*p[j];
break;
}
}
printf("%.3lf\n",ans);
}
return 0;
}