#AT1514. D - Pairs

D - Pairs

D - 对

分数:$400$ 分

问题陈述

有 $N$ 个整数 $A_1, A_2, ..., A_N$。

有 $\frac{N(N-1)}{2}$ 种方式选择其中两个数并组成一对。如果计算每一对的乘积,并将结果按照升序排序,那么列表中的第 $K$ 个数是什么?

约束条件

  • 所有输入的值都是整数。
  • $2 \leq N \leq 2 \times 10^5$
  • $1 \leq K \leq \frac{N(N-1)}{2}$
  • $-10^9 \leq A_i \leq 10^9\ (1 \leq i \leq N)$

输入

输入数据从标准输入中按以下格式给出:

NN KK

A1A_1 A2A_2 \dots ANA_N

输出

输出结果。


4 3
3 3 -4 -2
-6

有六种方式可以组成一对。这些对的乘积分别是 $9$, $-12$, $-6$, $-12$, $-6$, $8$。

将这些数按照升序排序,得到 $-12$, $-12$, $-6$, $-6$, $8$, $9$。这个列表中的第三个数是 $-6$。


10 40
5 4 3 2 -1 0 0 0 0 0
6

30 413
-170202098 -268409015 537203564 983211703 21608710 -443999067 -937727165 -97596546 -372334013 398994917 -972141167 798607104 -949068442 -959948616 37909651 0 886627544 -20098238 0 -948955241 0 -214720580 277222296 -18897162 834475626 0 -425610555 110117526 663621752 0
448283280358331064