求助一个关于K乘积编程题,我实在无从下手
【题目描述】:有N个整数从左往右排成一行,下标从0至N-1。你要从这N个整数中挑选出K个整数,使得这K个整数的乘积最大。但是有个前提条件:把你选中的那K个数的下标从小到大排序后,相邻的两个下标的差的绝对值不能超过给定的参数MaxDist。输入格式:
多组测试数据。
第一行,一个整数R,表示有R组测试数据。
每组测试数据格式:
第一行,三个整数,N,K,MaxDist。1<=N<=50,1<=K<=10, 1<=MaxDist<=50。
第二行,N个整数,每个整数的范围是-50至50。
输出格式:
共R行,每行一个整数。
输入样例:
5
3 2 1
7 4 7
3 2 50
7 4 7
6 3 3
-3 -5 -8 -9 -1 -2
10 2 2
3 0 -2 10 0 0 3 -8 0 2
48 1 7
27 42 1 31 -23 19 25 -32 46 -3 -46 5 -26 45 8 -48 -15 -20 43 15 39 -50 29 25 -14 -1 -43 21 38 32 -23 9 49 9 -7 49 20 -19 47 -33 1 18 23 -46 5 -28 5 47
输出样例:
28
49
-10
0
49