Pagini recente » Cod sursa (job #2633608) | Cod sursa (job #2678902) | Cod sursa (job #712034) | Cod sursa (job #2431807) | Cod sursa (job #94565)
Cod sursa(job #94565)
var a,h,b,c:array[0..50000]of longint;
m,n,i,j,k,max:longint;
f:text;
procedure inter(p,r:longint);
var i,j,q,u:longint;
begin
q:=(p+r)div 2;
i:=p;
j:=q+1;
u:=p-1;
while(i<=q)and(j<=r) do
begin
u:=u+1;
if a[i]<a[j] then begin b[u]:=a[i];
c[u]:=h[i];
i:=i+1;
end
else begin b[u]:=a[j];
c[u]:=h[j];
j:=j+1;
end;
end;
while(i<=q)do
begin
u:=u+1;
b[u]:=a[i];
c[u]:=h[i];
i:=i+1;
end;
while(j<=r)do
begin
u:=u+1;
b[u]:=a[j];
c[u]:=h[j];
j:=j+1;
end;
for i:=p to r do
begin
h[i]:=c[i];
a[i]:=b[i];
end;
end;
procedure merge(p,r:longint);
var q:longint;
begin
if p<r then begin q:=(p+r) div 2;
merge(p,q);
merge(q+1,r);
inter(p,r);
end;
end;
begin
assign(f,'orase.in');
reset(f);
read(f,m,n);
for i:=1 to n do
read(f,a[i],h[i]);
merge(1,n);
j:=1;
close(f);
assign(f,'orase.out');
rewrite(f);
for i:=2 to n do
begin
if(h[i]+a[i]+h[j]-a[j]<h[i]+a[i]+h[i-1]-a[i-1])then j:=i-1;
if(h[i]+a[i]+h[j]-a[j]>max)then max:=(h[i]+a[i]+h[j]-a[j]);
end;
writeln(f,max);
close(f);
end.