hdu1009贪心
来源:互联网 发布:网络新词语 编辑:程序博客网 时间:2024/04/28 07:12
#include <iostream>#include <algorithm>#include <cstdio>using namespace std;int M,N;typedef struct { float J; float F; double Aver;}room;room Rooms[3001];int Cmp(const room a,const room b){ return a.Aver > b.Aver;}int main(){ while(cin>>M>>N,(M != -1)&&(N != -1)) { for(int i = 0; i < N; i++) { cin>>Rooms[i].J>>Rooms[i].F; Rooms[i].Aver = (Rooms[i].J)/(Rooms[i].F); } sort(Rooms,Rooms+N,Cmp); double sum = 0; double res = 0; int j = 0; while(sum < M && j < N) { if(Rooms[j].F < (M - sum)) { sum += Rooms[j].F; res += Rooms[j].J; } else { res += Rooms[j].Aver*(M - sum); sum = M; break; } j++; } printf("%.3lf\n",res); } return 0;}