砍伐树木
Problem
<分区>
Chubaty 教 Grigory Melekhov 如何用军刀进行 Baklan 攻击。作为目标,他们使用连续的 n
棵树,编号从 1
到 n
。 Chubaty,用自然数估算了所有树木的强度,并记下了。对于 Melekhov 能够砍伐的每棵树,他获得的分数等于树上写的数字,如果他不能砍伐,他将失去相同的分数。
Chubaty 要求 Grigory 按编号升序从 l
到 r
击打树木。 Melekhov 最近伤了他的肩膀,所以他每隔一段时间就可以成功砍倒一棵树,即如果他砍倒了编号为 i
的树,那么他将无法砍倒编号为 的树。 code>i + 1
,但是可以砍掉编号为i + 2
的树等等。
Chubat
m
曾经让 Grigory 进行打击,但他忘记了 Melekhov 可以砍掉哪些树。帮助他确定格雷戈里每次尝试得了多少分。
输入
第一行包含 2 个数字 n
和 m
(\(1 <= n, m <= 100000 \))
第二行包含n
个数字——所有树的强度,其中i
树的强度写在位置i
。
以下 m
行包含数字对 l
和 r
(\(1 < ; = l <= r <= n\)),意思是 Chubaty 要求砍掉哪一片树。
输出
对于每个查询,输出 Grigory 在这次尝试中获得了多少分。
例子
<头>
<日>#日>
输入 |
输出 |
东西>
<正文>
1 |
6 6
1 2 3 4 5 6
16
1 5
2 6
2 5
2 4
2 2
|
-3
3
4
-2
3
2
|
表>