只通过了第一个。
放上代码,请过目。
#include<iostream>
#include<algorithm>
#include<cstdio>
using namespace std;
struct dao{
int jin;
int jia;
double dj;
};
bool jx(dao a,dao b){
return a.dj>a.dj;
}
int main(){
int n,t,i,j,t1=0;
double tm=0;
cin>>n>>t;
dao d[n+1]={0};
for(i=0;i<n;i++){
cin>>d[i].jin>>d[i].jia;
d[i].dj=d[i].jia*1.0/d[i].jin;
}
sort(d,d+n,jx);
for(i=0;i<n;i++){
if(t>d[i].jin) {
t-=d[i].jin;
tm+=d[i].jia;
}
else {
if(t==0) break;
tm+=t*d[i].dj;
break;
}
}
printf("%.2lf",tm);
return 0;
}