P314 [P1438] 无聊的数列
普及+
题目描述

题目背景

无聊的 YYB 总喜欢搞出一些正常人无法搞出的东西。有一天,无聊的 YYB 想出了一道无聊的题:无聊的数列。。。

题目描述

维护一个数列 $a_i$,支持两种操作:

  • 1 l r K D:给出一个长度等于 $r-l+1$ 的等差数列,首项为 $K$,公差为 $D$,并将它对应加到 $[l,r]$ 范围中的每一个数上。即:令 $a_l=a_l+K,a_{l+1}=a_{l+1}+K+D\ldots a_r=a_r+K+(r-l) \times D$。

  • 2 p:询问序列的第 $p$ 个数的值 $a_p$。

输入格式

第一行两个整数 $n,m$ 表示数列长度和操作个数。

第二行 $n$ 个整数,第 $i$ 个数表示 $a_i$。

接下来的 $m$ 行,每行先输入一个整数 $opt$。

若 $opt=1$ 则再输入四个整数 $l,r,K,D$;

若 $opt=2$ 则再输入一个整数 $p$。

输出格式

对于每个询问,一行一个整数表示答案。

样例输入
5 2 1 2 3 4 5 1 2 4 1 2 2 3
样例输出
6
提示

数据规模与约定

对于 $100\%$ 数据,$1\le n,m \le 10^5,-200\le a_i,K,D\le 200, 1 \leq l \leq r \leq n, 1 \leq p \leq n$。

本题源自洛谷 P1438