Pagini recente » Cod sursa (job #2939151) | Cod sursa (job #2931124) | Cod sursa (job #3208665) | Cod sursa (job #2602530) | Cod sursa (job #289730)
Cod sursa(job #289730)
var a1,a2,i,m,n,p,q,y,x:longint;
v:array[1..16000] of longint;
function f(a1:longint):longint;
var nr:longint;
begin
nr:=0;
while (a1>0) do begin
nr:=v[a1]+nr;
a1:=a1 and (a1-1);
end;
f:=nr;
end;
procedure caract(a1,a2:longint);
begin
while (a1<=n) do begin
v[a1]:=v[a1]+a2;
a1:=(a1 or (a1-1))+1;
end;
end;
begin
assign(input,'datorii.in');
reset(input);
assign(output,'datorii.out');
rewrite(output);
readln(input,n,m);
for i:=1 to n do
v[i]:=0;
for i:=1 to n do
begin
read (input,q);
caract(i,q);
end;
for i:=1 to m do begin
read (input,p,x,y);
if p=0 then
caract(x,-y)
else
writeln(output,(f(y)-f(x-1)));
end;
close(input);
close(output);
end.