HDU--1009--FatMouse' Trade
#include <stdio.h>int main (void){ double n,m,k,s,a[1005],b[1005]; int i,j; while(scanf("%lf%lf",&n,&m)!=EOF) { if(n==-1||m==-1) break; s=0; for(i=0;i<m;i++) scanf("%lf%lf",&a[i],&b[i]); for(i=0;i<m-1;i++) for(j=i+1;j<m;j++) { if(a[i]/b[i]<a[j]/b[j]) { k=a[i],a[i]=a[j],a[j]=k; k=b[i],b[i]=b[j],b[j]=k; } } for(i=0;i<m;i++) { if(!n) break; if(n>=b[i]) { s+=a[i]; n-=b[i]; } else { s+=n*a[i]/b[i]; n=0; } } printf("%.3lf\n",s); } return 0;}