AT_abc173_e [ABC173E] Multiplication 4
Description
[problemUrl]: https://atcoder.jp/contests/abc173/tasks/abc173_e
$ N $ 個の整数 $ A_1,\ldots,A_N $ が与えられます。
このなかからちょうど $ K $ 個の要素を選ぶとき、選んだ要素の積としてありえる最大値を求めてください。
そして、答えを $ (10^9+7) $ で割った余りを $ 0 $ 以上 $ 10^9+6 $ 以下の整数として出力してください。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ K $ $ A_1 $ $ \ldots $ $ A_N $
Output Format
答えを $ (10^9+7) $ で割った余りを、$ 0 $ 以上 $ 10^9+6 $ 以下の整数として出力せよ。
Explanation/Hint
### 制約
- $ 1\ \leq\ K\ \leq\ N\ \leq\ 2\times\ 10^5 $
- $ |A_i|\ \leq\ 10^9 $
### Sample Explanation 1
要素を $ 2 $ 個選んだときの積としてありえる値は $ 2,-3,-4,-6,-8,12 $ なので、最大値は $ 12 $ です。
### Sample Explanation 2
要素を $ 3 $ 個選んだときの積としてありえる値は $ -24,-12,-8,-6 $ なので、最大値は $ -6 $ です。 これを $ (10^9+7) $ で割った余りである $ 1000000001 $ を出力します。
### Sample Explanation 3
要素を $ 1 $ 個選んだときの積としてありえる値は $ -1,1000000000 $ なので、最大値は $ 1000000000 $ です。
### Sample Explanation 4
答えを $ (10^9+7) $ で割った余りを出力してください。