P11849 [TOIP 2023] 裁员风暴
题目描述
孙执行官任职于美味蛋糕股份有限公司,由于今年财报未达预期,股东寄了公开信呼吁公司削减成本,孙执行官决定让公司部分伙伴"走自己的路"。
孙执行官列出 $n$ 个公司目标,并请员工们各自从 $n$ 个公司目标挑选 $1$ 个或 $2$ 个他们认为最重要的目标。做出相同选择的员工会被分类到同一个**小组**。已知每种可能的目标组合都至少有一位员工选择,可以计算出恰好选择 $1$ 个目标的小组有 $n$ 组,恰好选择 $2$ 个目标的小组有 $\frac{n(n-1)}{2}$ 组,合计共有 $n + \frac{n(n-1)}{2} = \frac{n(n+1)}{2}$ 个小组。
通过 AI 大数据分析,每个公司目标都被 AI 赋予一个权重,这里用 $w_i$ 表示第 $i$ 个公司目标的权重。我们可以用一个 $01$-序列 $y$:$y_1, y_2, \cdots, y_n$ 来表示一个小组所选择的目标(选择第 $i$ 个目标则 $y_i = 1$,否则 $y_i = 0$)。AI 定义**裁减指数**为:
$$\left( \dfrac{\displaystyle \sum_{i=1}^{n}w_i\times y_i}{\displaystyle \sum_{j=1}^{n} y_j} \right)$$
孙执行官决定将所有小组的裁减指数排名,属于**裁减指数前 $k$ 大小组**的员工将被开除。
请你帮助孙执行官找出排序后第 $k$ 大的裁减指数。
例如:当 $n=3$,$k=4$,$w_1=5, w_2=-2, w_3=3$ 时,共有 $\dfrac{3(3+1)}{2} = 6$ 个小组,各小组裁减指数如下表:
|$y_1$|$y_2$|$y_3$|裁减指数 |
|:---:|:---:|:---:|:---------------------|
| $0$ | $0$ | $1$ |$(0+0+3)/(0+0+1) = 3$|
| $0$ | $1$ | $0$ |$(0-2+0)/(0+1+0) =-2$|
| $0$ | $1$ | $1$ |$(0-2+3)/(0+1+1)=0.5$|
| $1$ | $0$ | $0$ |$(5+0+0)/(1+0+0) = 5$|
| $1$ | $0$ | $1$ |$(5+0+3)/(1+0+1) = 4$|
| $1$ | $1$ | $0$ |$(5-2+0)/(1+1+0)=1.5$|
裁减指数排序后为 $-2, 0.5, 1.5, 3, 4, 5$,第 $4$ 大的值为 $1.5$。(备注:若第 $k$ 大与第 $k+1$ 大的裁减指数相同,孙执行官会另行决定裁员名单,不需要替他担心)
输入格式
> $n$ $k$
> $w_1$ $w_2$ $\cdots$ $w_n$
* $n$ 表示公司目标数量
* $k$ 表示需要查询的排名
* $w_i$ 表示第 $i$ 个目标的权重
输出格式
> $p$
> $q$
* $\dfrac{p}{q}$ 表示第 $k$ 大的裁减指数
* $p$ 必须为整数
* $q$ 必须为正整数
* $|p|$ 与 $q$ 必须互质
说明/提示
### 测试数据限制
* $1 \le n \le 2\times 10^5$
* $1 \le k \le \dfrac{n(n+1)}{2}$
* $-{10}^9 \le w_i \le {10}^9$
* 所有输入均为整数
### 评分说明
本题共有六个子任务,限制条件如下。每个子任务需通过全部测试数据方可得分。
| 子任务 | 分数 | 额外限制 |
| :----: | :--: | --------------------------- |
| 1 | 5 | $n \le 20$ |
| 2 | 5 | $n \le 10^4$ 且 $k \le 2\times 10^5$ |
| 3 | 5 | $n \le 10^4$ |
| 4 | 40 | $k \le 2\times 10^5$ |
| 5 | 14 | $-100 \le w_i \le 100$ |
| 6 | 31 | 无额外限制 |