每次核算互不影响,因此只需根据初始序列回答询问。
把区间内每个元素乘以 2,等价于给该区间的和再加一份。若两个区间重叠,重叠部分会被乘以 2 两次,即变成原来的 4 倍,需要再多加一份重叠区间的和。
设原序列总和为 S,两个区间的区间和分别为 S1、S2,重叠区间和为 S∩(无重叠则为 0),则答案为
有一条长度为 n 的库存序列 a1,a2,…,an(下标从 1 开始)。共有 q 次彼此独立的核算:每次给出两个闭区间 [L1,R1] 与 [L2,R2],先把第一个区间内的元素全部乘以 2,再把第二个区间内的元素全部乘以 2,然后求整条序列的元素之和。每次核算结束后序列会恢复到初始状态。
序列长度与核算次数均不超过 2×10^5,每个元素的绝对值不超过 10^5。
第一行两个整数 n 和 q(1≤n,q≤2×105),表示序列长度与核算次数。 第二行 n 个整数 a1,a2,…,an(−105≤ai≤105)。
By signing up a CodeFun2000 universal account, you can submit code and join discussions in all online judging services provided by us.