Cod sursa(job #95639)

Utilizator taloibogdanTaloi Bogdan Cristian taloibogdan Data 29 octombrie 2007 18:56:19
Problema Orase Scor 100
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.81 kb
Program orase;
Var f:text;
    d,l:array[1..100000] of longint;
    n,m,i,j:longint;
procedure qsr(s1,s2:longint);
var i,j,v,vv:longint;
begin
 i:=s1; j:=s2;
 v:=d[(s1+s2) div 2];
 repeat
  while d[i]<v do inc(i);
  while d[j]>v do dec(j);
  if i<=j then
    begin
     vv:=d[i];d[i]:=d[j];d[j]:=vv;
     vv:=l[i];l[i]:=l[j];l[j]:=vv;
     inc(i);dec(j);
    end;
 until(i>j);
 if s1<j then qsr(s1,j);
 if s2>i then qsr(i,s2);
end;
Begin
  assign(f,'orase.in');
  reset(f);
  readln(f,m,n);
  for i:=1 to n do
     readln(f,d[i],l[i]);
  close(f);
  qsr(1,n);
  j:=1;
  m:=0;
  for i:=2 to n do
     begin
      if d[i]+l[i]+l[j]-d[j]>m then m:=d[i]+l[i]+l[j]-d[j];
      if l[i]-d[i]>l[j]-d[j] then j:=i;
     end;
  assign(f,'orase.out');
  rewrite(f);
  Writeln(f,m);
  close(f);
End.