#478. 区间最大子段和

区间最大子段和

题目描述

现有一个长度为 nn 的序列 aa,给定你 mm 组查询,每次查询序列 aa 中从第 ll 个数到第 rr 个数的最大子段和。

最大子段和:指的是序列 aa 中连续的一段子序列的和的最大值。

输入格式

第一行两个整数 nnmm,表示序列长度和查询次数。

第二行 nn 个整数 aia_i,表示序列 aa

接下来 mm 行,每行两个整数 llrr,表示查询的范围。

$(1\le n\le 2000,1\le m\le 2\times 10^5,-1000\le a_i\le 1000,1\le l\le r\le n)$

输出格式

输出 mm 行,每行一个整数,表示对应查询的最大子段和。

样例输入

8 4
1 4 -3 8 -9 2 -2 1
1 5
2 8
3 6
3 3

样例输出

10
9
8
-3