题目链接:http://codeforces.com/problemset/problem/557/B

题目意思:有 2n 个茶杯,规定第 i 个茶杯最多只能装 ai 毫升的水。现在给出 w 毫升的水,需要把这 w 毫升(可以不用光)的水倒入到这 2n 个茶杯中,使得分给 n 个男的每个水杯的水恰好是 n 个女的2倍(注意,n 个男的水杯装的水是一样的,n 个女也是)。现在问的是,怎样使得 2n 个杯装的水最多,求出这个值。

*********************************************( 又开始误导他人成分,忽略之)

  假设倒入女孩的水杯的水为 x 毫升,我做的时候直接列出两个不等式,然后取较小值 * 3n(nx 是所有女的水杯的水,2nx 就是所有男的),于是就一直过不了pretest 8了。

   (1)2*x  ≤ 水杯最大容量(ai 最大值)

   (2)nx+ 2nx ≤ w (总不能超过 w 毫升的水吧)

  这样是错的啦。。。。首先(1)式就列得不对!试想,假设水杯编号为1~2n,由于前 n 小的水杯是分给女生的,这表明后 n 大的水杯是分给男生。但是男生最大只能取的水为 n+1 的容量,因为每只水杯的容量有限制嘛~~~~所以我们需要排序,找到第 n+1 位置大的水杯。我一开始还以为要用到二分做啦。。。。= =

*********************************************

  正确思路是需要分情况讨论的!

  将ai 排完序之后我们需要取出a[1]和a[n+1] 来讨论。也就是最少水杯容量(x)和第 n+1 大水杯容量 y 。因为最优解就是将 x 分配给每个女生,y 分配给每个男生。

  注意,它们有可能构成 2 倍的关系,也可能不。所以很自然就要讨论啦。。。。2x 和 y 的大小关系!

  (1) 2x ≤ y    表示可以将 x 毫升的水分给女生,2x 分给男生,反正2x 肯定不大于 y

    总分配水量为:xn + 2xn = 3xn

  (2) 2x > y    此时我们只能把 y/2 毫升的水分给女生(没说一定要分足 x 毫升的水给女生嘛, y/2 肯定比 x 小,不等式自己移位看呗)

    总分配水量为: y/2 * n + y * n = 1.5 yn

  当然,我们怎么分,总不能超过给出的 w 毫升啦,这是大前提哦,所以最后要取较小值作为答案^_^

  

 #include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <algorithm>
using namespace std; const int maxn = 2e5 + ;
int a[maxn]; int main()
{
#ifndef ONLINE_JUDGE
freopen("in.txt", "r", stdin);
#endif // ONLINE_JUDGE int n, w;
while (scanf("%d%d", &n, &w) != EOF) { for (int i = ; i < *n; i++) {
scanf("%d", &a[i]);
}
sort(a, a+n+n);
int maxv = a[n];
int minv = a[]; double ans = 0.0;
if (minv* > maxv) {
ans = (double)maxv * n * 1.5; // maxv/2 * n + maxv * n;
} else {
ans = (double)minv * n * 3.0;
}
printf("%.9lf\n", min((w*1.0), ans));
}
return ;
}

codeforces 557B. Pasha and Tea 解题报告的更多相关文章

  1. Codeforces Educational Round 92 赛后解题报告(A-G)

    Codeforces Educational Round 92 赛后解题报告 惨 huayucaiji 惨 A. LCM Problem 赛前:A题嘛,总归简单的咯 赛后:A题这种**题居然想了20m ...

  2. codeforces 476C.Dreamoon and Sums 解题报告

    题目链接:http://codeforces.com/problemset/problem/476/C 题目意思:给出两个数:a 和 b,要求算出 (x/b) / (x%b) == k,其中 k 的取 ...

  3. Codeforces Round #382 (Div. 2) 解题报告

    CF一如既往在深夜举行,我也一如既往在周三上午的C++课上进行了virtual participation.这次div2的题目除了E题都水的一塌糊涂,参赛时的E题最后也没有几个参赛者AC,排名又成为了 ...

  4. codeforces 507B. Amr and Pins 解题报告

    题目链接:http://codeforces.com/problemset/problem/507/B 题目意思:给出圆的半径,以及圆心坐标和最终圆心要到达的坐标位置.问最少步数是多少.移动见下图.( ...

  5. codeforces 500B.New Year Permutation 解题报告

    题目链接:http://codeforces.com/problemset/problem/500/B 题目意思:给出一个含有 n 个数的排列:p1, p2, ..., pn-1, pn.紧接着是一个 ...

  6. codeforces B. Xenia and Ringroad 解题报告

    题目链接:http://codeforces.com/problemset/problem/339/B 题目理解不难,这句是解题的关键 In order to complete the i-th ta ...

  7. codeforces 462C Appleman and Toastman 解题报告

    题目链接:http://codeforces.com/problemset/problem/461/A 题目意思:给出一群由 n 个数组成的集合你,依次循环执行两种操作: (1)每次Toastman得 ...

  8. codeforces 460A Vasya and Socks 解题报告

    题目链接:http://codeforces.com/problemset/problem/460/A 题目意思:有一个人有 n 对袜子,每天早上会穿一对,然后当天的晚上就会扔掉,不过他会在 m 的倍 ...

  9. codeforces 567D.One-Dimensional Battle Ships 解题报告

    题目链接:http://codeforces.com/problemset/problem/567/D 题目意思:给出 1 * n 的 field,编号从左至右依次为 1,2,...,n.问射 m 枪 ...

随机推荐

  1. hdu4941 Magical Forest (stl map)

    2014多校7最水的题   Magical Forest Magical Forest Time Limit: 24000/12000 MS (Java/Others)    Memory Limit ...

  2. Java实验2-数据库编程

    目标:掌握Java数据库编程 内容: 学生选课系统包括如下数据库表 学生表:Student(Sno,Sname,Ssex,Sage,Sdept) 课程表:Course(Cno,Cname,Ccredi ...

  3. Ubuntu 16.10 虚拟机安装记录

    一定要选自定义. 这里一定要选 稍后安装操作系统  都是坑! 启动时出现'SMBus Host Controller not enabled'错误提示,进不到图形界面. 解决办法:1.在启动Ubunt ...

  4. iSCSI配置流程

    Windows群集两个节点:分别在SQL01和SQL02设置连接共享磁盘: 此前已经在存储服务器通过StarWind创建了三个虚拟磁盘:Quemon+data+backup:starwind安装请参考 ...

  5. 基于iSCSI的SQL Server 2012群集测试(五)--镜像,作业,复制分发测试

    7.1.镜像测试 群集可以正常镜像到非群集环境,本次测试采用,无见证服务器的sql server验证的镜像连接,不同的是群集环境的镜像IP是采用SQL Server虚拟IP进行通信连接. 群集服务器: ...

  6. Swift3.0P1 语法指南——基本操作符

    原档:https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Programmi ...

  7. nginx的那些内置变量

    nginx在配置文件nginx.conf中可以使用很多内置变量,配置如下: location /info { add_header 'Content-Type' 'text/html'; echo & ...

  8. C语言中的#define预处理指令

    本文链接:http://www.cnblogs.com/xxNote/p/4009460.html 今天看C Primer Plus里面看449页里面 16.2.1语言符号 讲到从技术方面看,系统把宏 ...

  9. Unity手游之路<一>C#版本Protobuf

    http://blog.csdn.net/janeky/article/details/17104877 个游戏包含了各种数据,包括本地数据和与服务端通信的数据.今天我们来谈谈如何存储数据,以及客户端 ...

  10. 跟着百度学PHP[4]OOP面对对象编程-7-OOP的一些关键子讲解

    面对对象常用的一些关键子:http://www.cnblogs.com/xishaonian/p/6146794.html排版不是很好望见谅. THE END