题目
思路
板子不解释。
code:
#include<iostream>
#include<algorithm>
using namespace std;
int n,m,Quant,Ask,XJQ,AK[500001];
void add(int x,int WJ)
{
while (x<=n)
{
AK[x]+=WJ;
x+=x&-x;
}
return;
}
int QuantAsk(int x)
{
int ans=0;
while (x)
{
ans+=AK[x];
x-=x&-x;
}
return ans;
}
int main()
{
cin>>n>>m;
for (int i=1;i<=n;i++)
{
cin>>Quant;
add(i,Quant);
}
for (int i=1;i<=m;i++)
{
cin>>Quant>>Ask>>XJQ;
if (Quant==1)
{
add(Ask,XJQ);
}
else cout<<QuantAsk(XJQ)-QuantAsk(Ask-1)<<endl;
}
}
// cout<<"stoorz AK IOI every day!!!";