Multiplication 4

AtCoder
IDabc173_e
Time2000ms
Memory256MB
Difficulty
Given are $N$ integers $A_1,\ldots,A_N$. We will choose exactly $K$ of these elements. Find the maximum possible product of the chosen elements. Then, print the maximum product modulo $(10^9+7)$, using an integer between $0$ and $10^9+6$ (inclusive). ## Constraints * $1 \leq K \leq N \leq 2\times 10^5$ * $|A_i| \leq 10^9$ ## Input Input is given from Standard Input in the following format: $N$ $K$ $A_1$ $\ldots$ $A_N$ [samples]
Samples
Input #1
4 2
1 2 -3 -4
Output #1
12

The possible products of the two chosen elements are $2$, $-3$, $-4$, $-6$, $-8$, and $12$, so the maximum product is $12$.
Input #2
4 3
-1 -2 -3 -4
Output #2
1000000001

The possible products of the three chosen elements are $-24$, $-12$, $-8$, and $-6$, so the maximum product is $-6$.
We print this value modulo $(10^9+7)$, that is, $1000000001$.
Input #3
2 1
-1 1000000000
Output #3
1000000000

The possible products of the one chosen element are $-1$ and $1000000000$, so the maximum product is $1000000000$.
Input #4
10 10
1000000000 100000000 10000000 1000000 100000 10000 1000 100 10 1
Output #4
999983200

Be sure to print the product modulo $(10^9+7)$.
API Response (JSON)
{
  "problem": {
    "name": "Multiplication 4",
    "description": {
      "content": "Given are $N$ integers $A_1,\\ldots,A_N$. We will choose exactly $K$ of these elements. Find the maximum possible product of the chosen elements. Then, print the maximum product modulo $(10^9+7)$, usin",
      "description_type": "Markdown"
    },
    "platform": "AtCoder",
    "limit": {
      "time_limit": 2000,
      "memory_limit": 262144
    },
    "difficulty": "None",
    "is_remote": true,
    "is_sync": true,
    "sync_url": null,
    "sign": "abc173_e"
  },
  "statements": [
    {
      "statement_type": "Markdown",
      "content": "Given are $N$ integers $A_1,\\ldots,A_N$.\nWe will choose exactly $K$ of these elements. Find the maximum possible product of the chosen elements.\nThen, print the maximum product modulo $(10^9+7)$, usin...",
      "is_translate": false,
      "language": "English"
    }
  ]
}
Full JSON Raw Segments