题目描述
你有一个长度为 n 的序列,其中第 i 个元素的值为 ai。
现在有 q 组询问,每组询问给定 x,l,r,表示你刚开始有一个数字 x ,然后你从序列的第 l 个位置走到第 r 个位置,每经过一个位置就执行 x=max(x,ai−x)。你需要回答每组询问最后 x 的值。
输入格式
第一行两个整数 n 和 q,分别表示序列长以及询问数量。
第二行包含 n 个整数,其中第 i 个整数表示序列第 i 个元素的值 ai。
接下来 q 行,每行三个整数 x,l,r,含义如题目描述中所示。
输出格式
输出 q 行,每行一个整数,其中第 i 行的整数表示第 i 组询问的答案。
提示
Idea:zx2003,Solution:zx2003,Code:zx2003,Data:zx2003
样例解释
对于第一组询问,x 的值为 2(初始)→2→2→4→4→6→6→6→6→7→7(最终)。
限制与约定
对于所有数据,保证 1≤n,q≤2×105,1≤l≤r≤n,0≤∣x∣,∣ai∣≤1013。
子任务编号 |
n,q≤ |
特殊性质 |
子任务分值 |
1 |
1000 |
无 |
8 |
2 |
80000 |
−500≤x,ai≤500 |
16 |
3 |
2×105 |
106≤x,ai≤106 且 l=1 |
25 |
4 |
l=1 |
24 |
5 |
无 |
27 |