A1070 Mooncake (25 分)
Posted tsruixi
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了A1070 Mooncake (25 分)相关的知识,希望对你有一定的参考价值。
一、参考代码
#include<cstdio>
#include<algorithm>
#include<iostream>
using namespace std;
struct P{
double need;//库存
double value;//总价
double s_mon;//单价
};
bool cmp(P a, P b){
return a.s_mon > b.s_mon;
}
int main(){
int N;
double D;
double sum_mon = 0;
cin >> N >> D;
P product[N];
for(int i = 0; i < N; i++){
scanf("%lf", &product[i].need);
}
for(int i = 0; i < N; i++){
scanf("%lf", &product[i].value);
product[i].s_mon = product[i].value/product[i].need;
}
sort(product, product+N, cmp);
for(int i = 0; i < N; i++){
if(product[i].need <= D){
sum_mon = sum_mon + product[i].value;
D = D - product[i].need;
}else if(product[i].need > D){
sum_mon = D * product[i].s_mon + sum_mon;
break;
}
}
printf("%.2lf", sum_mon);
return 0;
}
以上是关于A1070 Mooncake (25 分)的主要内容,如果未能解决你的问题,请参考以下文章
1070 Mooncake (25 分)难度: 简单 / 知识点: 贪心
PAT甲题题解-1070. Mooncake (25)-排序,大水题