列表

详情


NC21370. 任务分配

描述

牛牛和牛妹是好朋友,他们在同一个公司工作,两人都是公司大佬,现在他们有totalWork个单位的总工作量,    总工作量可以分成若干个子工作量,不一定是整数
当然作为大佬,牛牛和牛妹是不会具体去做事情的,他们公司有n个雇员,标号为0到n-1,每个雇员有两个信息
a[i]:一个小时内能完成的工作量
p[i]:每完成一个单位的工作量需要付给这个雇员的钱

牛牛和牛妹必须挑选恰好K个雇员,由于法律规定,每个员工的工作时间必须一样

所有的工作都是在一台机器上进行的,牛牛和牛妹没有这样的一台机器,所以他们去租了一台,机器可以被租借任意秒钟(可以是浮点数)
租金为一块钱一秒
由于只有一台机器,所有的雇员必须一个个去机器上干活
求最少需要花多少钱完成所有工作量    
注意花钱有两部分,一部分给雇员,一部分租机器

输入描述

第一行输入3个整数n,K (1 ≤ n ≤ 50, 1 ≤ K ≤ n, 1 ≤ totalWork ≤ 100000)
第二行输入n个整数ai (1 ≤ ai ≤ 100000)
第二行输入n个整数pi (1 ≤ pi ≤ 100000)

输出描述

输出一个浮点数,误差在1e-9以内

示例1

输入:

1 1 10
10
20

输出:

3800.0

说明:

只有一个雇员,必须选择
10个单位的工作时间要付他10 * 20 = 200. 需要花费 10/10 = 1 小时. 机器租一小时 = 3600秒, 3600 元.

200 + 3600 = 3800

示例2

输入:

2 1 100
50 60
1000 2000

输出:

107200.0

示例3

输入:

3 2 300
10 20 47
15 20 98765

输出:

77500.0

说明:

2号雇员的战斗力最强, 但是实在太贵了

最优方案是选择0号和1号雇员

10个小时时间内0号雇员得到100个工作单位,1号雇员得到200个工作单位

付 100*15 元 给 0号雇员, 200*20 元给1号雇员, 72000 元 租20个小时的机器.

示例4

输入:

10 4 1000
1 2 3 4 5 6 7 8 9 10
20 30 40 58 60 70 80 90 100 150

输出:

531764.705882353

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

上一题