#CSES1651. 区间更新查询

区间更新查询

题目背景

翻译自 CSES-1651 题。

题目描述

给定一个包含 nn 个整数的数组,你的任务是处理 qq 个查询,查询类型如下:

  1. 将区间 [a,b][a,b] 中的每个元素增加 uu。
  2. 查询位置 kk 处的值。

输入格式

第一行包含两个整数 nn 和 qq:分别表示数组的元素数量和查询的数量。

第二行包含 nn 个整数 x1,x2,…,xnx_1,x_2,…,x_n:表示数组中的值。

接下来有 qq 行,每行包含三个整数,表示查询的类型:

  • 类型 11:区间更新查询,格式为 "1 a b u1\ a\ b\ u",表示将区间 [a,b][a,b] 中的每个元素增加 uu。
  • 类型 22:查询某位置值,格式为 "2 k2\ k",表示查询位置 kk 处的值。

输出格式

对于每个类型为 22 的查询,输出位置 kk 处的值。

样例

8 3
3 2 4 5 1 1 5 3
2 4
1 2 5 1
2 4
5
6

说明/提示

1≤n,q≤2⋅1051 \leq n,q \leq 2 \cdot 10^5;

1≤xi,u≤1091 \leq x_i,u \leq 10^9;

1≤k≤n1 \leq k \leq n;

1≤a,b≤n1 \leq a, b \leq n。