Codeforces Round #311 (Div. 2) B. Pasha and Tea
2015-07-01 10:47
459 查看
【题目链接】click here~~
【题目大意】给你n个boy,n个girl ,然后W表示茶壶的最大容量,然后n个茶杯,每个都有不同的容量,要求boy的茶杯里的茶水是girl的两倍,且boy和boy容量一样,girl和girl 容量一样,问如何倒茶,最大化总的茶量
【解题思路】这道题本来很简单,第一次读题没读明白,以为每个茶杯的茶水都倒满了,然后一想不就是拿最大的计算吗。一交,直接WA,然后仔细读题,发现,每个茶杯的茶水可以选择的倒(坑~啊),那么既然boy和boy,girl和girl的茶水一样,那么只要分别找出最小的容量然后比较一下就可以,因为要求boy的茶杯里的茶水是girl的两倍,所以girl 的是最小的
代码:
【题目大意】给你n个boy,n个girl ,然后W表示茶壶的最大容量,然后n个茶杯,每个都有不同的容量,要求boy的茶杯里的茶水是girl的两倍,且boy和boy容量一样,girl和girl 容量一样,问如何倒茶,最大化总的茶量
【解题思路】这道题本来很简单,第一次读题没读明白,以为每个茶杯的茶水都倒满了,然后一想不就是拿最大的计算吗。一交,直接WA,然后仔细读题,发现,每个茶杯的茶水可以选择的倒(坑~啊),那么既然boy和boy,girl和girl的茶水一样,那么只要分别找出最小的容量然后比较一下就可以,因为要求boy的茶杯里的茶水是girl的两倍,所以girl 的是最小的
代码:
#include <bits/stdc++.h> using namespace std; const int N=3*1e5+10; double num ; int main() { int n,w; while(scanf("%d%d",&n,&w)!=EOF) { for(int i=1; i<=2*n; ++i) scanf("%lf",&num[i]); sort(num+1,num+1+2*n); double res=min(num[1],num[n+1]/2);///排序玩后依次选择最小的 res=res*3*n; res=min(res,1.0*w); printf("%.6f\n",res); } return 0; }res=res*3*n=res*n+res*2*n;
相关文章推荐
- nginx生产配置
- Majority Element II
- Hadoop简介
- javascrip中setTimeout和setInterval
- Core Java读书笔记之String
- 数据结构--栈和队列
- 像写SQL一样编写Java数据应用-TinySqlDsl
- 【nodejs】 npm 注意事项
- DHCP服务器搭建与管理
- PHP+MYSQL中文乱码问题
- 常用函数源码
- 【设计模式】代理模式详解
- 机器学习常见算法分类汇总
- 面向对象继承中内存加载原理
- CAsynchronismEngine::OnAsynchronismEngineData [ wIdentifier=3 wDataSize=434 ]
- Tomcat内存溢出(java.lang.OutOfMemoryError: PermGen space)的解决办法
- Socket通信之BIO(同步阻塞IO)、PAIO(伪异步阻塞IO)、NIO(异步非阻塞IO)、AIO(异步非阻塞IO)、netty5之IO
- 毕业了
- Tiny示例:对整个目录中的POM树进行批量处理
- string类