Cod sursa(job #289722)

Utilizator b_ady20Branescu Adrian b_ady20 Data 26 martie 2009 22:21:07
Problema Datorii Scor 0
Compilator fpc Status done
Runda aa Marime 0.67 kb
var a1,a2,i,m,n,p,q,y,x:longint;
v:array[1..16001] of longint;
function f(x: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.