hdu 1009--greedy

2015-07-20 18:05:59 · 作者: · 浏览: 5
/** \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; }