Time Limit: 2 sec / Memory Limit: 1024 MB
配点: 400 点
問題文
N 個の整数 A_1, A_2, ..., A_N があります。
このうち 2 つを選んでペアにする方法は \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)
入力
入力は以下の形式で標準入力から与えられる。
N K A_1 A_2 \dots A_N
出力
答えを出力せよ。
入力例 1
4 3 3 3 -4 -2
出力例 1
-6
ペアの組み方は 6 通りあり、それぞれの積は 9, -12, -6, -12, -6, 8 です。
小さい順に並べ替えると -12, -12, -6, -6, 8, 9 となり、3 番目にくる数は -6 です。
入力例 2
10 40 5 4 3 2 -1 0 0 0 0 0
出力例 2
6
入力例 3
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
出力例 3
448283280358331064
Score: 400 points
Problem Statement
We have N integers A_1, A_2, ..., A_N.
There are \frac{N(N-1)}{2} ways to choose two of them and form a pair. If we compute the product of each of those pairs and sort the results in ascending order, what will be the K-th number in that list?
Constraints
- All values in input are integers.
- 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)
Input
Input is given from Standard Input in the following format:
N K A_1 A_2 \dots A_N
Output
Print the answer.
Sample Input 1
4 3 3 3 -4 -2
Sample Output 1
-6
There are six ways to form a pair. The products of those pairs are 9, -12, -6, -12, -6, 8.
Sorting those numbers in ascending order, we have -12, -12, -6, -6, 8, 9. The third number in this list is -6.
Sample Input 2
10 40 5 4 3 2 -1 0 0 0 0 0
Sample Output 2
6
Sample Input 3
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
Sample Output 3
448283280358331064