【CodeForces 557B】Pasha and Tea

题意

总共有 w 克蛋糕,2n 个盘子,第 i 个盘子容量为 ai ,n 个女孩和 n 个男孩,男孩得到的是女孩得到的蛋糕的两倍,求他们得到蛋糕的最大值。

分析

把盘子从小到大排序,然后 女生得到的蛋糕总量是 n*min(最小的盘子,第n+1小的盘子/2,w/(3n))。 答案就是女生得到的蛋糕的3倍。

代码

#include<cstdio>
#include<algorithm>
using namespace std;
int n,a[1000005];
double w,ans;
int main(){
    scanf("%d%lf",&n,&w);
    for(int i=0;i<n*2;i++)
        scanf("%d",&a[i]);
    sort(a,a+n*2);
    ans = min(1.5 * n * min(2*a[0], a[n]), w);
    printf("%lf",ans);
    return 0;
}

  

你可能感兴趣的:(【CodeForces 557B】Pasha and Tea)