P5891 Fracture Ray

题目背景

破碎的镜面里倒映着破碎的射线; 破碎的文字中隐藏着破碎的——

题目描述

有一个 `long long` 类型的数组 `a[]`。 在给出所有操作之前,给定上界参数 $v$。 共有 $q$ 次操作。每次操作为以下两个函数之一: ``` void modify(int u,int p) { for (int i=u;i

输入格式

从标准输入中读取数据。 第一行,两个正整数 $q,v$,表示操作数,以及上界参数。 接下来 $q$ 行,每行为以下二者之一: + `1 u p` 表示执行 `modify(u,p)`; + `2 u` 表示执行 `query(u)` 并输出一行一个整数,为函数的返回值。

输出格式

在每次执行 `query()` 函数后,输出函数的返回值。

说明/提示

子任务 1($8$ 分):$1\leq q\leq 10^3$,$1\leq v\leq 10^4$。 子任务 2($23$ 分):$1\leq v\leq 10^5$。 子任务 3($16$ 分):$1\leq q\leq 50$。 子任务 4($28$ 分):$1\leq q\leq 1000$。 子任务 5($25$ 分):无特殊限制。 对于全部数据,$1\leq q\leq 2\times 10^5$,$1\leq u\leq v< 2^{30}$,$-10^4\leq p\leq 10^4$。 请选手注意代码实现时常数因子带来的程序效率上的影响。 已加入 hack 数据。