B1020

#include<cstdio>
#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
struct yb{
double dj,kc,sj;
};
bool cmp(yb a,yb b){
return a.dj>b.dj;
}
int main(){
int n,xq;
double yl=0.0;
cin>>n>>xq;
vector<yb>v(n);
for(int i=0;i<n;i++){
cin>>v[i].kc;
}
for(int i=0;i<n;i++){
cin>>v[i].sj;
v[i].dj=v[i].sj/v[i].kc;
}
sort(v.begin(),v.end(),cmp);
for(int i=0;i<n;i++){
if(xq>v[i].kc){
xq-=v[i].kc;
yl+=v[i].sj;
}else{
yl+=v[i].sj*xq/v[i].kc;
break;
}
}
printf("%.2f",yl);
return 0;
}

猜你喜欢

转载自www.cnblogs.com/tao7/p/9768587.html
今日推荐