求昨天有道的一个题目的思路
恕我愚钝,我甚至没有意识到这个题目的难度跟分数是匹配的,
感觉应该很简单,但就是做不出来。
我不要解答代码,描述性的文字、伪码都可以,提问目的:
1、让我明白这题目有多难,
2、让我知道解答的大致思路。
分数分配按回复内容让我明白的程度,(主观地)进行分配,谢谢各位。
描述
搞程序竞赛的小朋友爱打牌,爱打牌的小朋友爱拱猪。
这次竞赛有k个小朋友参加,他们计划一起拱猪!显然一副普通的扑克不够用,所以他们设计了一副特殊的扑克,这副扑克有n张牌,每张牌都有一个整数。
每一局游戏结束后每张牌都会被某一个小朋友获得,并且每个小朋友都至少获得一张牌。第i个小朋友的得分为他获得的所有牌上的数字之积,计做Si。一局游戏的总得分为所有小朋友的得分之和。你的任务是求一局游戏可能的最大得分。
输入
第一行为一个正整数T,表示数据组数。
接下来每组数据分为两行,第一行为空格隔开的两个正整数n,k ,表示这副扑克有n张牌,一共有k个小朋友参加游戏。
第二行为空格隔开的n个整数,表示n张牌上的数字。
其中牌上的数字范围是[-5000, 5000], T<=500
小数据:1 <= n, k <= 100。250分,时限1s。
大数据:1 <= n, k <= 2000。150分,时限10s。
输出
一个整数,代表可能的最大得分。
样例输入
2
12 6
-7 -6 -5 -4 -3 -2 -1 1 2 3 4 5
12 6
4 3 1 2 0 -1 -3 -4 -5 -2 -6 -7
样例输出
50397
20165
提示
样例解释:
样例1:-7*-6*-5*-4*3*5*4 -1,1,2,-2,-3单独一组。
样例2:-7*-6*-5*-4*-3*-2*4 3,2,1,0,-1单独一组。