博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PAT1070. Mooncake (25)
阅读量:5319 次
发布时间:2019-06-14

本文共 599 字,大约阅读时间需要 1 分钟。

#include

#include
#include <stdio.h>
#include <math.h>
using namespace std;
struct SS{
double s;
double p;
double si;
};
int n,d;
SS pro[1010];
bool cmp(const SS &a,const SS &b){
return a.si>b.si;
}
int main(){
cin>>n>>d;
for(int i=0;i<n;i++) cin>>pro[i].s;
for(int i=0;i<n;i++) {
cin>>pro[i].p;
if(fabs(pro[i].s)<1e-9){
pro[i].si=0;
}else pro[i].si=pro[i].p/pro[i].s;
}
sort(pro,pro+n,cmp);
int i=0;
double res=0;
while(d&&i<n){
if(pro[i].s<d){
d-=pro[i].s;
res+=pro[i].p;
i++;
}else{
res+=pro[i].si*d;
d=0;
}
}
printf("%.2f\n",res);
return 0;
}

转载于:https://www.cnblogs.com/yellowman/p/5382400.html

你可能感兴趣的文章