题意:总水量一定,有n个男孩,n个女孩,男孩的水是一样的,女孩的也是一样的,但是男孩的是女孩的两倍,有2*n个杯子,求最多能分给他们的总水量
分析:贪心法。不说了,就是cinTLE了。
代码:
#include<iostream>
#include<algorithm>
#include<cstdio>
using namespace std;
int n;
double a[200010];
double m;
double ans;
double min(double a,double b)
{
return a<b?a:b;
}
int main()
{
cin>>n>>m;
for(int i=0;i<2*n;i++){
scanf("%lf",&a[i]);
}
sort(a,a+2*n);
double tmp=a[n];
if(a[0]>=tmp/2)
ans=tmp/2*n+tmp*n;
else ans=a[0]*n+2*a[0]*n;
ans=min(ans,m);
printf("%lf\n",ans);
}