#include<iostream>
#include<algorithm>
using namespace std;
const int N = 1e5+10,MOD = 1000000009;
int n,k;
int q[N];
long long res = 1;
int main(){
scanf("%d%d",&n,&k);
for(int i=0;i<n;i++) scanf("%d",&q[i]);
sort(q,q+n);
int l=0,r=n-1;
int flag = 1;
if(k%2){
res = q[r--];
k--;
if(res<0) flag = -1;
}
while(k){
long long x = (long long)q[l]*q[l+1], y = (long long)q[r-1]*q[r];
if(x*flag > y*flag) {
res = x%MOD * res % MOD;
l+=2;
}else{
res = y%MOD * res%MOD;
r-=2;
}
k-=2;
}
printf("%lld",res);
}
06-21
1653
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交