Толком не понятно что делает программа учитывая то, что скорее всего она работает не верно
Исправлены искажения текста перетягиванием или еще как-то, изза чего была написала белиберда
xsearch походу указывает на то, надо ли присваивать начальное значение xmax или оно уже присвоенно
var
n: integer;
x, y: integer;
xmin, xmax: integer;
xsearch: boolean;
ymin, ymax: integer;
i: integer;
s: real;
begin
xsearch := true;
xmin := 0;
xmax := 0;
ymin := 0;
ymax := 0;
readln(n);
for i := 1 to n do
begin
readln(x, y);
if y = 0 then begin
if xsearch or (x > xmax) then
xmax := x;
xsearch := false;
end
else if y > ymax then ymax := y
end;
if (xmax > xmin) and (ymin < 0) and (ymax > 0) then
s := (xmax - xmin) * (ymax - ymin) / 2
else
s := 0;
writeln(s);
end.