B. Pasha and Tea
2015-08-27 18:08
211 查看
time limit per test
1 second
memory limit per test
256 megabytes
input
standard input
output
standard output
Pasha decided to invite his friends to a tea party. For that occasion, he has a large teapot with the capacity of wmilliliters and 2n tea
cups, each cup is for one of Pasha's friends. The i-th cup can hold at most ai milliliters
of water.
It turned out that among Pasha's friends there are exactly n boys and exactly n girls
and all of them are going to come to the tea party. To please everyone, Pasha decided to pour the water for the tea as follows:
Pasha can boil the teapot exactly once by pouring there at most w milliliters of water;
Pasha pours the same amount of water to each girl;
Pasha pours the same amount of water to each boy;
if each girl gets x milliliters of water, then each boy gets 2x milliliters
of water.
In the other words, each boy should get two times more water than each girl does.
Pasha is very kind and polite, so he wants to maximize the total amount of the water that he pours to his friends. Your task is to help him and determine the optimum distribution of cups between Pasha's friends.
Input
The first line of the input contains two integers, n and w (1 ≤ n ≤ 105, 1 ≤ w ≤ 109) —
the number of Pasha's friends that are boys (equal to the number of Pasha's friends that are girls) and the capacity of Pasha's teapot in milliliters.
The second line of the input contains the sequence of integers ai (1 ≤ ai ≤ 109, 1 ≤ i ≤ 2n) — the
capacities of Pasha's tea cups in milliliters.
Output
Print a single real number — the maximum total amount of water in milliliters that Pasha can pour to his friends without violating the given conditions. Your answer will be considered correct if its absolute or relative error doesn't exceed10 - 6.
Sample test(s)
input
output
input
output
input
output
Note
Pasha also has candies that he is going to give to girls but that is another task.
解题说明:此题是一道模拟题,为了保证尽可能倒更多的水,可以采用贪心方法。
#include<stdio.h>
#include <string.h>
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
long long i,n,w;
long double r;
cin>>n>>w;
long a[2*n];
for(i=0;i<2*n;i++)
{
cin>>a[i];
}
sort(a,a+2*n);
printf("%.9f",min(min(3.0*a[0],1.5*a
)*n,1.0*w));
return 0;
}
1 second
memory limit per test
256 megabytes
input
standard input
output
standard output
Pasha decided to invite his friends to a tea party. For that occasion, he has a large teapot with the capacity of wmilliliters and 2n tea
cups, each cup is for one of Pasha's friends. The i-th cup can hold at most ai milliliters
of water.
It turned out that among Pasha's friends there are exactly n boys and exactly n girls
and all of them are going to come to the tea party. To please everyone, Pasha decided to pour the water for the tea as follows:
Pasha can boil the teapot exactly once by pouring there at most w milliliters of water;
Pasha pours the same amount of water to each girl;
Pasha pours the same amount of water to each boy;
if each girl gets x milliliters of water, then each boy gets 2x milliliters
of water.
In the other words, each boy should get two times more water than each girl does.
Pasha is very kind and polite, so he wants to maximize the total amount of the water that he pours to his friends. Your task is to help him and determine the optimum distribution of cups between Pasha's friends.
Input
The first line of the input contains two integers, n and w (1 ≤ n ≤ 105, 1 ≤ w ≤ 109) —
the number of Pasha's friends that are boys (equal to the number of Pasha's friends that are girls) and the capacity of Pasha's teapot in milliliters.
The second line of the input contains the sequence of integers ai (1 ≤ ai ≤ 109, 1 ≤ i ≤ 2n) — the
capacities of Pasha's tea cups in milliliters.
Output
Print a single real number — the maximum total amount of water in milliliters that Pasha can pour to his friends without violating the given conditions. Your answer will be considered correct if its absolute or relative error doesn't exceed10 - 6.
Sample test(s)
input
2 4 1 1 1 1
output
3
input
3 18 4 4 4 2 2 2
output
18
input
1 5 2 3
output
4.5
Note
Pasha also has candies that he is going to give to girls but that is another task.
解题说明:此题是一道模拟题,为了保证尽可能倒更多的水,可以采用贪心方法。
#include<stdio.h>
#include <string.h>
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
long long i,n,w;
long double r;
cin>>n>>w;
long a[2*n];
for(i=0;i<2*n;i++)
{
cin>>a[i];
}
sort(a,a+2*n);
printf("%.9f",min(min(3.0*a[0],1.5*a
)*n,1.0*w));
return 0;
}
相关文章推荐
- html 添加视频
- 黑马程序员--对象的存储细节
- const, static, extern, typedef
- Scheme 语言概要(下)
- POJ 3228 -- Gold Transportation【二分 && 最大流】
- 主线程实现异步
- 服务器socket
- 手机淘宝构架演化实践
- uboot 引导kernel杂谈
- run模式可以启动,debug模式无法启动
- JPA 实体映射
- 新增tab页无法获取到数据,原来是URL的rewrite配置文件忘了修改
- 导航条悬浮效果
- CODEVS 1021 玛丽卡 最短路模板题
- StrangeIoc框架的详细介绍
- [leetcode]Majority Element C语言
- Java内存管理和垃圾回收
- tkinter杂记=>长期更新
- Scheme 语言概要(上)
- js知识梳理--apply()使用详解