100 #P1076. *【动态规划:状态设计DP】最大的算式

*【动态规划:状态设计DP】最大的算式

【题意】

给出 NN 个数字,不改变它们的相对位置,在中间加入若干个乘号和若干个加号,(括号随便加)使最终结果尽量大。

因为乘号和加号一共就是 N1N-1 个了,所以恰好每两个相邻数字之间都有一个符号。

例如:N=5N=5K=2K=2,5个数字分别为1、2、3、4、5,可以加成:

1*2*(3+4+5)=24

1*(2+3)*(4+5)=45

(1*2+3)*(4+5)=45

……

【输入格式】

第一行为两个有空格隔开的整数,表示 NNKKKK 表示至多加入的乘号的个数,不一定要求刚好加 KK 个乘号),其中(2<=N<=152<=N<=15, 0<=K<=N10<=K<=N-1)。

第二行为 NN 个用空格隔开的数字(每个数字在0到9之间)。

【输出格式】

输出文件仅一行包含一个整数,表示要求的最大的结果

5 2
1 2 3 4 5
120