#4795. 雇佣 K 名工人的最低成本

雇佣 K 名工人的最低成本

题目描述

nn 名工人。 给定两个数组 qualityquality 和 wagewage ,其中,quality[i]quality[i] 表示第 ii 名工人的工作质量,其最低期望工资为 wage[i]wage[i] 。

现在我们想雇佣 kk 名工人组成一个  工资组 在雇佣 一组 kk 名工人时,我们必须按照下述规则向他们支付工资:

  • 对工资组中的每名工人,应当按其工作质量与同组其他工人的工作质量的比例来支付工资。
  • 工资组中的每名工人至少应当得到他们的最低期望工资。

给定整数 kk ,返回 组成满足上述条件的付费群体所需的最小金额 。与实际答案误差相差在 10510^{-5} 以内的答案将被接受。

输入格式

第一行两个空格分开的整数表示 nnkk

第二行 nn 个空格隔开的整数表示数组 qualityquality

第三行 nn 个空格隔开的整数表示数组 wagewage

输出格式

一行一个小数表示答案,实际答案误差相差在 10510^{-5} 以内的答案将被接受。

示例 1:

3 2
10 20 5
70 50 30
105.00000

解释: 我们向 0 号工人支付 70,向 2 号工人支付 35。

示例 2:

5 3
3 1 10 10 1
4 8 2 2 7
30.66667

解释: 我们向 0 号工人支付 4,向 2 号和 3 号分别支付 13.33333。$$$

提示:

  • n==quality.length==wage.lengthn == quality.length == wage.length
  • 1<=k<=n<=1041 <= k <= n <= 10^4
  • 1<=quality[i],wage[i]<=1041 <= quality[i], wage[i] <= 10^4

SOURCE

雇佣 K 名工人的最低成本