Logo Universal Online Judge

UOJ

时间限制:N/A 空间限制:N/A
统计
## 题目描述 如题,已知一个数列,你需要进行下面两种操作: 1. 将某区间每一个数数加上$x$; 2. 求出某一个数的值。 ## 输入输出格式 ### 输入格式 第一行包含两个整数$N$、$M$,分别表示该数列数字的个数和操作的总个数。 第二行包含$N$个用空格分隔的整数,其中第$i$个数字表示数列第$i$项的初始值。 接下来$M$行每行包含$2$或$4$个整数,表示一个操作,具体如下: 操作$1$: 格式:`1 x y k` 含义:将区间$[x,y]$内每个数加上$k$; 操作$2$: 格式:`2 x` 含义:输出第$x$个数的值。 ### 输出格式 输出包含若干行整数,即为所有操作$2$的结果。 ## 输入输出样例 ### 输入样例 #1 ``` 5 5 1 5 4 2 3 1 2 4 2 2 3 1 1 5 -1 1 3 5 7 2 4 ``` ### 输出样例 #1 ``` 6 10 ``` ## 说明/提示 #### 样例 1 解释: ![](https://cdn.luogu.com.cn/upload/pic/2258.png) 故输出结果为 6、10。 --- #### 数据规模与约定 对于$30\%$的数据:$Nle8,Mle10$; 对于$70\%$的数据:$Nle 10000,Mle10000$; 对于$100\%$的数据:$1 leq N, Mle 500000$,$1 leq x, y leq n$,保证任意时刻序列中任意元素的绝对值都不大于$2^{30}$。