当前位置: 代码迷 >> 综合 >> L2-003 月饼 (贪心
  详细解决方案

L2-003 月饼 (贪心

热度:47   发布时间:2024-03-09 21:08:25.0

题目链接

代码如下:

#include<iostream>
#include<algorithm>
using namespace std;
const int maxn=1e4+10;
struct node
{double x,y;double k;
}a[maxn];
bool cmp(node a,node b)
{return a.k>b.k;
}
int main()
{int n,d;int i;double ans=0;cin>>n>>d;for(i=1;i<=n;i++)cin>>a[i].x;for(i=1;i<=n;i++){cin>>a[i].y;a[i].k=(double)a[i].y/(double)a[i].x;}sort(a+1,a+n+1,cmp);for(i=1;i<=n;i++){if(a[i].x<d){d-=a[i].x;ans+=a[i].y;}else{ans+=(double)d*a[i].k;break;}}printf("%.2lf\n",ans);return 0;
} 

 

  相关解决方案