Pagini recente » Cod sursa (job #2544736) | Cod sursa (job #534100) | Cod sursa (job #475913) | Cod sursa (job #258873) | Cod sursa (job #151564)
Cod sursa(job #151564)
type list=array[1..50000]of longint;
var m,n,i,max,d2max,ct:longint;
p,l,dmax:list;
procedure QuickSort(var A,B: List; Lo, Hi: longint);
procedure Sort(l, r: longint);
var
i, j, x, y: longint;
begin
i := l; j := r; x := a[(l+r) DIV 2];
repeat
while a[i] < x do i := i + 1;
while x < a[j] do j := j - 1;
if i <= j then
begin
y := a[i]; a[i] := a[j]; a[j] := y;
y := b[i]; b[i] := b[j]; b[j] := y;
i := i + 1; j := j - 1;
end;
until i > j;
if l < j then Sort(l, j);
if i < r then Sort(i, r);
end;
begin
Sort(Lo,Hi);
end;
begin
assign(input,'orase.in');
reset(input);
read(m,n);
for i:=1 to n do
read(p[i],l[i]);
close(input);
quicksort(p,l,1,n);
max:=l[1]-p[1];
d2max:=0;
for i:=2 to n do
begin
ct:=p[i]+l[i]+max;
if(ct>d2max)then
d2max:=ct;
if(l[i]-p[i]>max)then
max:=l[i]-p[i];
end;
assign(output,'orase.out');
rewrite(output);
write(d2max);
close(output);
end.