CVJETICI - Cvjetici
Tác giả: khuc_tuan
Ngôn ngữ: Pascal
//{$A8,B-,C+,D+,E-,F-,G+,H+,I+,J-,K-,L+,M-,N+,O+,P+,Q+,R+,S+,T-,U-,V+,W-,X+,Y+,Z1}
// {$APPTYPE CONSOLE}
{$mode delphi}
var
i, t, p, x, y, n : integer;
b : array[1..110000] of integer;
procedure update(i, v : integer);
begin
while i <= 110000 do
begin
inc(b[i], v);
inc(i, i and (-i));
end;
end;
function get(i : integer) : integer;
var
r : integer;
begin
r := 0;
while i > 0 do
begin
inc(r, b[i]);
dec(i, i and (-i));
end;
get := r;
end;
begin
read(n);
for i:=1 to n do
begin
read(x,y);
t := get(x);
p := get(y);
writeln(t + p);
update(x,-t);
update(x+1,t);
update(y,-p);
update(y+1,p);
if x + 1 < y then
begin
update(x+1,1);
update(y,-1);
end;
end;
end.