问题4237--马里奥的求救

4237: 马里奥的求救

[命题人 : ]
时间限制 : 1.000 sec  内存限制 : 128 MB

题目描述

据说zstu仓鼠最近对自己游戏里的马里奥进行着惨无人道的特训:
zstu仓鼠先做了1,2,3,……,n 块砖,每块砖上都有一个分数,又给了马里奥君一个飞盘。
然后残忍的设置了一些参数:在每次扔飞盘前,马里奥最多可以向前走x步,然后飞盘最少能向前飞 g 步,最多向前飞 d 步。
如果马里奥的飞盘落在了i号位置,那么他就能得到相应位置的分数。然后马里奥再从i号位置开始,抉择向前走几步,飞盘要扔多远,……
重复这个过程,直到飞盘被马里奥扔出第n个砖块为止。
为了对抗zstu仓鼠的暴政,请帮马里奥快速的求出他能得到的最大分数时,它最少要扔几次。
注意:马里奥一开始在0号砖上,0号砖上的分数始终为0.

输入

先输入一个T , 表示有T个测试组。
每组2行,第一行先输入n , x , g , d (0<=x<=100,1<=n,g,d<=100),n表示砖块数,x表示每次扔出飞盘时可以向前走的步数,g表示飞盘最少能飞g步,d表示最多能飞d步。
接下来第2行有n个数,分别表示每块砖上的分数。(-1000<=分数<=1000)

输出

对于每个测试组输出两个数score num。
分别表示这次游戏中所能获得的最大分数,和最少扔出的次数。

样例输入 Copy

2
1 100 100 100
1
5 0 1 2
4 -3 2 1 -1

样例输出 Copy

0 1
7 4

来源/分类