CF735B.Urbanization
普及-
通过率:0%
时间限制:2.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Local authorities have heard a lot about combinatorial abilities of Ostap Bender so they decided to ask his help in the question of urbanization. There are n people who plan to move to the cities. The wealth of the i of them is equal to a__i. Authorities plan to build two cities, first for _n_1 people and second for _n_2 people. Of course, each of n candidates can settle in only one of the cities. Thus, first some subset of candidates of size _n_1 settle in the first city and then some subset of size _n_2 is chosen among the remaining candidates and the move to the second city. All other candidates receive an official refuse and go back home.
To make the statistic of local region look better in the eyes of their bosses, local authorities decided to pick subsets of candidates in such a way that the sum of arithmetic mean of wealth of people in each of the cities is as large as possible. Arithmetic mean of wealth in one city is the sum of wealth a__i among all its residents divided by the number of them (_n_1 or _n_2 depending on the city). The division should be done in real numbers without any rounding.
Please, help authorities find the optimal way to pick residents for two cities.
当地政府听说了奥斯塔普·本德尔在组合数学方面的卓越才能,于是决定请他协助解决城市化问题。现有 n 位居民计划迁入城市,其中第 i 位居民的财富为 ai。政府计划建设两座城市:第一座城市容纳 n1 人,第二座城市容纳 n2 人。当然,这 n 位申请者中每人至多只能定居于其中一座城市。具体而言,首先从全部申请者中选出一个大小为 n1 的子集,安排其入住第一座城市;然后从剩余申请者中再选出一个大小为 n2 的子集,安排其入住第二座城市。其余未被选中的申请者将收到官方拒信,返回家乡。
为了使本地区统计数据在上级领导眼中显得更佳,当地政府决定以如下方式选取两座城市的居民:使得两座城市各自居民财富算术平均值之和最大化。某座城市的财富算术平均值定义为该城市所有居民财富 ai 之和除以该城市人数(即分别为 n1 或 n2)。该除法应在实数范围内进行,不作任何舍入。
请协助当地政府找出两座城市居民的最优选取方案。
输入格式
The first line of the input contains three integers n, _n_1 and _n_2 (1 ≤ n, _n_1, _n_2 ≤ 100 000, _n_1 + _n_2 ≤ n) — the number of candidates who want to move to the cities, the planned number of residents of the first city and the planned number of residents of the second city.
The second line contains n integers _a_1, _a_2, ..., a__n (1 ≤ a__i ≤ 100 000), the i-th of them is equal to the wealth of the i-th candidate.
输入的第一行包含三个整数 n、n1 和 n2(1 ≤ n, n1, n2 ≤ 100000,且 n1 + n2 ≤ n),分别表示希望迁入这两座城市的候选人总数、第一座城市的计划居民数以及第二座城市的计划居民数。
第二行包含 n 个整数 a1, a2, ..., an(1 ≤ ai ≤ 100000),其中第 i 个数表示第 i 位候选人的财富值。
输出格式
Print one real value — the maximum possible sum of arithmetic means of wealth of cities' residents. You answer will be considered correct if its absolute or relative error does not exceed 10 - 6.
Namely: let's assume that your answer is a, and the answer of the jury is b. The checker program will consider your answer correct, if
.
输出一个实数值——城市居民财富的算术平均值之和的最大可能值。若你的答案的绝对误差或相对误差不超过 10−6,则视为正确。
具体而言:假设你的答案为 a,评测组的标准答案为 b。当且仅当
时,评测程序将判定你的答案正确。
输入输出样例
输入#1
2 1 1 1 5
输出#1
6.00000000
输入#2
4 2 1 1 4 2 3
输出#2
6.50000000
说明/提示
In the first sample, one of the optimal solutions is to move candidate 1 to the first city and candidate 2 to the second.
In the second sample, the optimal solution is to pick candidates 3 and 4 for the first city, and candidate 2 for the second one. Thus we obtain (_a_3 + _a_4) / 2 + _a_2 = (3 + 2) / 2 + 4 = 6.5
在第一个样例中,一种最优解是将候选人 1 派往第一座城市,将候选人 2 派往第二座城市。
在第二个样例中,最优解是为第一座城市选择候选人 3 和 4,为第二座城市选择候选人 2。于是我们得到 $ (a_3 + a_4) / 2 + a_2 = (3 + 2) / 2 + 4 = 6.5 $。
输入解题思路,AI测评打分。不知道怎么写?