蓝桥杯 - 最大乘积

蓝桥杯竞赛中的一道算法题,要求在给定的n个数中选取m个,使它们的乘积最大化。题目限制了n和m的范围以及每个数的绝对值不超过4。输入包括数据组数、数字个数和数值,输出是最大乘积。样例输入为5个数,选取5个,数值为1到4,对应的样例输出为48。
摘要由CSDN通过智能技术生成

算法提高 最大乘积

时间限制:1.0s    内存限制:512.0MB

问题描述

  对于n个数,从中取出m个数,如何取使得这m个数的乘积最大呢?

输入格式

  第一行一个数表示数据组数
  每组输入数据共2行:
  第1行给出总共的数字的个数n和要取的数的个数m,1<=n<=m<=15,
  第2行依次给出这n个数,其中每个数字的范围满足:a[i]的绝对值小于等于4。

输出格式

  每组数据输出1行,为最大的乘积。

样例输入

1
5 5
1 2 3 4 2

样例输出

48


#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值