pat1070 Mooncake

来源:互联网 发布:网络信息点测试 编辑:程序博客网 时间:2024/05/21 14:56
#include<cstdio>#include<iostream>#include<algorithm>#include<vector>#include<queue>#include<string>#include<cstring>#include<cmath>#include<map>#include<stack>#define N 1005#define ll long longusing namespace std;double num[N],pri[N];int s[N];const bool cmp(const int x,const int y){return pri[x]/num[x]>pri[y]/num[y];}int main(){    int n,i,j;double d;while(scanf("%d%lf",&n,&d)!=EOF){double ans = 0;for(i = 0;i<n;i++)scanf("%lf",&num[i]);for(i = 0;i<n;i++)scanf("%lf",&pri[i]);for(i = 0;i<n;i++)s[i] = i;sort(s,s+n,cmp);for(i = 0;i<n&&d>0;i++){if(d>num[s[i]])ans+=pri[s[i]];else ans+=pri[s[i]]/num[s[i]]*d;d-=num[s[i]];}printf("%.2lf\n",ans);}    return 0;}

0 0