そこで問題は、そう長くのための吸盤のようでした
メンテナンスプロ配列を持つ配列は、B [i]には、[j]はiが= jは[POS]和であるのPOS%を示し
各変更XY 1、直接、[X]を変更し、I = 1..700は、[I X%] [i]とBを変更列挙するための
各クエリ2 XYは、X> 700ならば、我々は、列挙アレイiが= KX + yに直接行きます、
X <700、bは、[X] [Y]は答えがある場合
#include <ビット/ STDC ++ H> 使用して 名前空間STDを、 #define N 500005 の#defineっ長い長い [N] LL、B [ 705 ] [ 705 ]。 int型Q; INT メイン(){ CIN >> Q。 一方、(q-- ){ int型のOP、X、Y。 scanf関数(" %D%D%D "、&OP、およびX&Y)。 もし(OPの== 1 ){ [X] + = Y。 以下のために(int型 = Iを1 ; I <=700 ; iは++ ) B [i]は、[X%I] + = Y。 } もし(オペアンプ== 2 ){ LL ANS = 0 。 場合(X> 700 ){ ため(int型 iは= yと; iは= < 500000を、I + = X) ANS + = [I]。 } 他のANS =のB [X] [Y]。 coutの << ANS << てendl; } } }