标签:count 25 PAT 1020 mc int double price ton
#include<cstdio>
#include<algorithm>
#include<cmath>
using namespace std;
struct MoonCake{
double ton;//只说是正数 没说是正整数
double price;
double one;
}mc[1010];
bool cmp(MoonCake a,MoonCake b){
return a.one>b.one;
}
int main(){
int n;
double d;
scanf("%d%lf",&n,&d);
for(int i=0;i<n;i++){
scanf("%lf",&mc[i].ton);
}
for(int i=0;i<n;i++){
scanf("%lf",&mc[i].price);
}
for(int i=0;i<n;i++){
mc[i].one=mc[i].price/mc[i].ton;
}
sort(mc,mc+n,cmp);
double count=0;
// int i=0;
// while(d>0)//浮点数的精度问题?
for(int i=0;i<n;i++){
if(d>=mc[i].ton){
d-=mc[i].ton;
count+=mc[i].price;
}else{
count+=mc[i].one*d;
break;
// d=0;
}
// i++;
}
printf("%.2f",count);
}```
标签:count,25,PAT,1020,mc,int,double,price,ton 来源: https://blog.csdn.net/weixin_48328459/article/details/123097314
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。