#P1311. 选择线段得到的最大价值
选择线段得到的最大价值
选择线段得到的最大价值
时间限制:2 s
空间限制:256 MB
题目描述
数轴上 处各有一个点,请选一条线段 (需要满足 ),使得线段的价值最大。
线段 的价值 按以下方法定义:
- 对于 的每个整数 :
- 如果 不在线段上,即不满足 ,线段 的价值增加 。
- 如果 在线段上,但不是端点,即 ,则线段 的价值增加 。
- 如果 在线段上,并且 是线段的端点(即: 或 成立),则线段 的价值增加 。
采用更正式的写法,即
$$v_{l,r}=\sum_{i=1}^{l-1}a_{i}+\sum_{i=r+1}^{n}a_i+\sum_{i=l+1}^{r-1}b_i+c_l+[l\neq r]\times c_r $$其中,公式 在 时取 ,否则取 。
请直接输出可取得的价值的最大值。
输入格式
第一行一个整数 ,表示测试数据组数。
接下来对于每一组测试数据:
第一行一个整数 。
第二行 个整数 。
第三行 个整数 。
第四行 个整数 。
输出格式
仅一个整数,表示选取线段能得到的最大价值。
样例输入1
3
5
100 10 100 100 20
10 20 30 30 50
40 150 10 200 10
5
1000 1000 1 1000 1000
1 1 1 1 1
1 1 1000 1 1
5
1000 1000 1000 1000 1000
1 1 1 1 1
1 1 1 1 1
样例输出1
500
5000
4001
样例 1 解释
对于第一组测试数据 选择 。第一个点的贡献是 ,第二个点的贡献是 ,第三个点的贡献是 ,第四个点的贡献是 ,第五个点的贡献是 。
可以证明,没有价值更大的取法。
对于后两组测试数据,选择
数据范围与约定
对于 的数据,。
对于 的数据,。
对于另外 的数据, 总是成立。
对于 的数据, ,。
,所有测试点中 的总和。
请注意,答案可能超出 位整数可以表示的范围。
相关
在下列比赛中: