Pagini recente » Cod sursa (job #42763) | Cod sursa (job #824030) | Cod sursa (job #30360) | Cod sursa (job #2798055) | Cod sursa (job #67487)
Cod sursa(job #67487)
var i,n,m,lmax,imax,dmax,max:longint;
d,l:array[1..50000] of longint;
f1,f2:text;
procedure pozitie(var m:longint; p,u:longint);
var i,j,di,dj,aux:longint;
begin
di:=0;
dj:=-1;
i:=p;
j:=u;
while i<j do
begin
if d[i]>d[j] then
begin
aux:=di;
di:=-dj;
dj:=-aux;
aux:=d[i];
d[i]:=d[j];
d[j]:=aux;
aux:=l[i];
l[i]:=l[j];
l[j]:=aux;
end;
i:=i+di;
j:=j+dj;
end;
m:=i;
end;
procedure quick(p,u:longint);
var m:longint;
begin
if p<u then
begin
pozitie(m,p,u);
quick(p,m-1);
quick(m+1,u);
end;
end;
begin
assign(f1,'orase.in');
reset(f1);
assign(f2,'orase.out');
rewrite(f2);
read(f1,m,n);
for i:=1 to n do
read(f1,d[i],l[i]);
quick(1,n);
lmax:=l[1];
dmax:=d[1];
imax:=1;
max:=0;
for i:=2 to n do
begin
lmax:=lmax+d[i]-d[i-1];
if max<lmax+l[i] then max:=lmax+l[i];
if l[i]>lmax then
begin
lmax:=l[i];
dmax:=d[i];
imax:=i;
end;
end;
writeln(f2,max);
close(f1);
close(f2);
end.