样例是对的,但是全WA!!
// c++从入门到入坟.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
#include<iostream>
#include <stdio.h>
#include<algorithm>
#include<math.h>
using namespace std;
struct node{
double danjia;
double milk;
double zhon;
} aa[2000];
struct node1{
double danjia1;
}a[2000];
bool cmp(node x, node y){
return x.danjia > y.danjia;
}
bool cmp1(node1 x, node1 y){
return x.danjia1 > y.danjia1;
}
int main(){
double ans = 0;
int t, m;
cin >> m >> t;
for(int i = 0; i < m; i++){
cin >> aa[i].danjia >> aa[i].milk;
a[i].danjia1 = aa[i].milk / aa[i].danjia;
}
sort(aa, aa + m, cmp);
sort(a, a + m, cmp1);
int o = 0;
while(m){
if(t > 0){
if(t >= aa[o].danjia){
ans += aa[o].milk;
t -= aa[o].danjia;
}
}
if(t < aa[o].danjia){
ans += a[o].danjia1;
t--;
}
if(t <= 0){
break;
}
}
printf("%.2lf", ans);
return 0;
}