설명
음수나 \(0\)일 수도 있는 \(N\)개의 정수 배열이 주어진다. 고른 값들의 곱이 최대가 되도록 정확히 \(K\)개를 고르시오. 그 최대 곱을 \(10^9+7\)로 나눈 나머지를 출력하시오 (음수 곱은 \([0, 10^9+6]\) 범위로 환산한다).
제약
입력 형식
첫 줄에 \(N\)과 \(K\)가 주어진다 (\(1 \le K \le N \le 2000\)). 둘째 줄에 \(N\)개의 정수가 주어지며 각 값은 \([-30, 30]\)이다.
출력 형식
\(K\)개 원소의 최대 곱을 \(10^9+7\)로 나눈 나머지를 출력한다.
예제 1
입력
3 2
1 2 3
출력
6
예제 2
입력
3 2
-3 -2 1
출력
6
예제 3
입력
4 3
-4 -3 2 1
출력
24
문제 정보
riseoj 작성
출처 RiseOJ Basics
태그