hdu1009 FatMouse' Trade
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; }