#B215. 树状数组1 单点修改区间查询

树状数组1 单点修改区间查询

题目描述

给定数列a1,a2,...,ana_1, a_2, ..., a_n,你需要依次进行qq个操作,操作有两类:

  • 1 i x:给定i,xi,x,将aia_i加上x;
  • 0 l r:给定l,rl,r,求al+al+1+...+ara_l+a_{l+1}+...+a_r的值。

输入格式

第一行包含2个正整数n,qn,q,表示数列长度和询问个数。保证1n,q1061≤n,q≤{10}^6

第二行nn个整数a1,a2,...,ana_1, a_2, ..., a_n,表示初始数列。保证ai106|a_i|≤{10}^6

接下来qq行,每行一个操作,为以下两种之一:

1 i x:给定i,xi,x,将aia_i加上xx

0 l r:给定l,rl,r,求al+al+1+...+ara_l+a_{l+1}+...+a_r的值。保证1lrn,x1061≤l≤r≤n, ∣x∣≤{10}^6

输出格式

对于每个0 l r操作输出一行,每行有一个整数,表示所求的结果。

3 2
1 2 3
1 2 0
0 1 3
6