1. 月饼
贪心就行了
三个东西,一个Pair<int,int>,可以用结构体写。这里自带了排序规则
sort函数,相信应该都知道
reverse,翻转,可以理解为数组头变数组尾,好处是默认排序时可以不指定排序方式,排完reverse即可
#include<bits/stdc++.h>
#define endl "\n"
//#define int long long
#define AC return
#define pleaseqwq 0
using namespace std;
const int N=2e5+10;
typedef pair<double,double>PII;
typedef pair<string,int>PSI;
typedef pair<double,double>pdd;
PII a[N];
signed main(){
//cin.tie(0),cout.tie(0);
//ios::sync_with_stdio(false);
int n,d;
cin>>n>>d;
for(int i=0;i<n;i++){
cin>>a[i].second;
}
for(int i=0;i<n;i++){
cin>>a[i].first;
a[i].first/=a[i].second;
}
sort(a,a+n);
reverse(a,a+n);
double res=0;
int cnt=0;
for(int i=0;i<n;i++){
if(cnt+a[i].second<d){
res+=a[i].first*a[i].second;
cnt+=a[i].second;
}else{
res+=(d-cnt)*a