测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A2914. 无聊的数列

编程题 普及+/提高

题目描述

无聊的 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$。

输出格式

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

输入输出样例

输入 #1
5 2
1 2 3 4 5
1 2 4 1 2
2 3
输出 #1
6

说明/提示

#### 数据规模与约定

对于 $100\%$ 数据,$0\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$。
上一题 去做题 下一题