删除字符获得最大费用

B .删除最高费用
每次測试的时间限制:2 秒内存限制
256 兆宇节
输入:标洋输入输出:标准输出
你会得到一个长度为n的宇符串s,它只包含0和1个字符。

在字符串变为空之前执行翻转操作:选择一些连续的相等宇符子字符串,将其从字符串中擦除,并以相同的顺序将其余的两个部分粘合在一起(任何部分都可以是空的)。例如,如果您从宇符串111110中擦除子字符串111,您将得到宇符串110。当你删除一个长度l的子串时,你会得到a*l+b分。

你的任务是计算你总共能得到的最大分数,如果你必须使给定的字符串为空的话。

输入
第一行包含一个整数(1<=t<=2000)——测试用例的数量。

每个测试用例的第一行包含三个整数n,a 和b (1<=n<=100;-100<=a,b=<=100)字符串s的长度和参数a和b
第二行包含字符串s。字符串s仅由字符0和1组成。

输出
对于每个测试用例,打印一个整数--您可以得分的最大点数,

例子
样例输入
3
3 2 0
000
5 -2 5
11001
6 1 -4
100111

样例输出
6
15
-2

注意
在第一个例子中,它足以删除整个字符串,那么我们将得到2*3+0=6分。

在第二个例子中,如果我们逐个删除字符。然后,对于每个被删除的字符,我们将得到(-2)
1+5=3分,即总共15分
在第三个示例中,我们可以从字符串 100111 中删除子字符串 00
,我们得到 1
2+(-4)=-2分,该宇符串将等于1111,全部删除它
我们将得到1*4+(-4)=0点。总的来说,两个操作中我们得到了-2 分。

你好,我是有问必答小助手,非常抱歉,本次您提出的有问必答问题,技术专家团超时未为您做出解答


本次提问扣除的有问必答次数,已经为您补发到账户,我们后续会持续优化,扩大我们的服务范围,为您带来更好地服务。