Pagini recente » Autentificare | Cod sursa (job #1467556) | Cod sursa (job #2137890) | Cod sursa (job #1066645) | Cod sursa (job #268520)
Cod sursa(job #268520)
program datorii;
var c:array[1..15000] of longint;
a:array[1..15000] of 1..1000;
n:1..15000;
i,p,q,poz:longint;
cod:0..1;
k,j:longint;
f,g:text;
begin
assign(f,'datorii.in');
reset(f);
readln(f,n,i);
for i:=1 to n do
read(f,a[i]);
readln(f);
i:=0;
repeat
i:=i+1;
p:=i-((i xor (i-1)) and i)+1;
c[i]:=0;
for q:=p to i do
c[i]:=c[i]+a[q];
until i=n;
assign(g,'datorii.out');
rewrite(g);
repeat
readln(f,cod,p,q);
if cod=0 then begin
while p<=n do
begin
c[p]:=c[p]-q;
p:=p+(p xor (p-1)) and p;
end;
end
else begin
k:=0;
while q>0 do begin
k:=k+c[q];
q:=q-(q xor (q-1)) and q;
end;
j:=0;
p:=p-1;
while p>0 do begin
j:=j+c[p];
p:=p-(p xor (p-1)) and p;
end;
writeln(g,k-j);
end;
until eof(f);
close(f);
close(g);
end.
program datorii;
var c:array[1..15000] of longint;
a:array[1..15000] of 1..1000;
n:1..15000;
i,p,q,poz:longint;
cod:0..1;
k,j:longint;
f,g:text;
begin
assign(f,'datorii.in');
reset(f);
readln(f,n,i);
for i:=1 to n do
read(f,a[i]);
readln(f);
i:=0;
repeat
i:=i+1;
p:=i-((i xor (i-1)) and i)+1;
c[i]:=0;
for q:=p to i do
c[i]:=c[i]+a[q];
until i=n;
assign(g,'datorii.out');
rewrite(g);
repeat
readln(f,cod,p,q);
if cod=0 then begin
while p<=n do
begin
c[p]:=c[p]-q;
p:=p+(p xor (p-1)) and p;
end;
end
else begin
k:=0;
while q>0 do begin
k:=k+c[q];
q:=q-(q xor (q-1)) and q;
end;
j:=0;
p:=p-1;
while p>0 do begin
j:=j+c[p];
p:=p-(p xor (p-1)) and p;
end;
writeln(g,k-j);
end;
until eof(f);
close(f);
close(g);
end.