在循环数组中查找满足长度条件的最大子数组和

PHP Hard loops

任务 «在循环数组中查找满足长度条件的最大子数组和»

给定一个长度为 N(N ≤ 10^5)的循环整数数组。需要找到一个长度不小于 L 且不超过 R(1 ≤ L ≤ R ≤ N)的连续子数组的最大和。子数组可以跨越数组边界(循环)。输出所求的和。如果不存在这样的子数组(例如 L > N),则输出 0。

输入格式

在第一行输入一个整数 N。在第二行输入 N 个整数,以空格分隔。在第三行输入两个整数 L 和 R,以空格分隔。

输出格式

一个整数——长度在 L 到 R 之间(包含两端)的子数组的最大和。如果不存在任何子数组,则输出 0。

示例

示例 1

输入
6 5 -2 3 1 -1 4 1 3
输出
9

示例 2

输入
3 10 -5 10
输出
20

示例 3

输入
5 1 -2 3 -4 5
输出
8
main.php