/** \brief hdu 1009--greedy
*
* \param date 2014/7/18
* \param state AC
* \return
*
*/
#include
#include
#include
#include
using namespace std; const int MAXN=1001; struct Data { int J; int F; /* bool operator < (const Data& d) const { return d. } */ double price; }; Data data[MAXN]; bool Comp(const Data& a,const Data& b) { if(a.price>=b.price) return true; else return false; } //void Knapsack(int n,int m,int v[],int w[],int x[]) void Knapsack(int n,int m) { //Sort(data,data+n,Comp); sort(data,data+n,Comp); int i; int c=m; double sum=0.0; for(i=0;i
=data[i].F) { c-=data[i].F; sum+=data[i].J; } else { sum+=c*1.0/data[i].F*data[i].J; c=0; } } printf("%.3f",sum); cout<
>J[i]>>F[i]; cin>>data[i].J>>data[i].F; data[i].price=data[i].J*1.0/data[i].F; } // Knapsack(N,M); } return 0; }