标签:
#include<stdio.h> #include<algorithm> using namespace std; int a[20]; int main() { int t; int n,m; int i,j; int now1,now2; long long sum;//避免出现超出int型的情况 scanf("%d",&t); while(t--) { scanf("%d%d",&n,&m); for(i=0;i<n;i++) scanf("%d",&a[i]); sort(a,a+n); sum=1; for(i=n-1,j=0;i>=j&&m!=0;i--) { now1=a[i]*a[i-1]; now2=a[j]*a[j+1]; if(now1<=now2&&m>=2) {//如果now1==now2时也要选now2 //因为这样下次选得时候选得要最大 sum*=now2; i++; j+=2; m-=2;//选负数的时候一次选两个。 } else { sum*=a[i]; m--;//选正数的时候一次选一个。 } } printf("%lld\n",sum); } return 0; }
标签:
原文地址:http://blog.csdn.net/wangluoershixiong/article/details/42836785