書式#include <iostreamの>
の#include <cstdioを>
使用して 名前空間はstdを、
int型 PD、C [ 500001 ]、[ 500001 ]、X、Y、K、N、M。
INT lowbit(INT XX)
{
戻り XX& - XX。
}
ボイド更新(INT XX、INT YY)
{
一方(XX <= N)
{
C [XX] + = YY。
XX + = lowbit(XX)。
}
}
int型 getsum(INT XX)
{
int型合計= 0 ;
一方、(XX> 0 )
{
合計 + = C [XX]。
XX - = lowbit(XX)。
}
戻り値の和。
}
int型のmain()
{
CIN >> N >> M。
以下のために(int型 i = 1 ; iが<= N; iは++ )
{
CIN >> [I]。
アップデート(I、[I])。
}
のために(int型 I = 1 ; I <= M; iは++ )
{
CIN >>PD;
もし(PD == 1 )
{
CIN >> X >> K。
アップデート(X、K)。
}
もし(PD == 2 )
{
CIN >> X >> Y。
COUT << getsum(Y)-getsum(X- 1)<< ENDL。
}
}
戻り 0 。
}
夏の十四日までに2019年9月9日