#8. 最大子区间和-median

最大子区间和-median

描述

给定一个长度为 nn 的序列 AA,有 qq 个询问。每次给定一个区间 [l,r][l, r],要求输出该区间内的最大子区间和(子区间可以为空集)。

子区间和指的是数组中的一个连续子序列的和,可以为空集(即子区间和为 0)。

格式

输入

  • 第一行包含两个整数 nnqq (1n5×105,1q1051 \leq n \leq 5 \times 10^5, 1 \leq q \leq 10^5),表示数组的长度和询问的次数。
  • 第二行包含 nn 个整数 A[1],A[2],,A[n]A[1], A[2], \dots, A[n] (A[i]104|A[i]| \leq 10^4),表示数组 AA
  • 接下来 qq 行,每行包含两个整数 llrr (1lrn1 \leq l \leq r \leq n),表示一次询问区间 [l,r][l, r]

输出

  • 对于每次询问,输出一个整数,表示该区间 [l,r][l, r] 中的最大子区间和。

样例

输入1

5 3
2 3 -1 4 -2
1 3
2 5
1 5

输出1

5
6
8

限制

  • 时间限制:1s