AT_abc376_e [ABC376E] Max × Sum

题目描述

给定长度为 $N$ 的数列 $A = (A_1, A_2, \dots, A_N)$ 和 $B = (B_1, B_2, \dots, B_N)$。 请从 $\{1, 2, \dots, N\}$ 中选出一个大小为 $K$ 的子集 $S$。此时,求下式可能取得的最小值: $$ \left(\max_{i \in S} A_i\right) \times \left(\sum_{i \in S} B_i\right) $$ 有 $T$ 组测试数据,请分别输出每组的答案。

输入格式

输入以如下格式从标准输入读入。这里 $\mathrm{case}_i$ 表示第 $i$ 个测试用例。 > $T$ > $\mathrm{case}_1$ > $\mathrm{case}_2$ > $\vdots$ > $\mathrm{case}_T$ 每组测试数据的格式如下: > $N$ $K$ > $A_1$ $A_2$ $\dots$ $A_N$ > $B_1$ $B_2$ $\dots$ $B_N$

输出格式

输出 $T$ 行,第 $i$ 行输出第 $i$ 个测试用例的答案。

说明/提示

### 限制条件 - $1 \leq T \leq 2 \times 10^5$ - $1 \leq K \leq N \leq 2 \times 10^5$ - $1 \leq A_i, B_i \leq 10^6$ - 所有测试用例中 $N$ 的总和不超过 $2 \times 10^5$ - 所有输入的值均为整数 ### 样例解释 1 对于第 $1$ 个测试用例,选择 $S = \{2, 3\}$ 时,式子的值为 $7 \times (2 + 4) = 42$,这是最小值。 由 ChatGPT 4.1 翻译