Cod sursa(job #1164743)

Utilizator atatomirTatomir Alex atatomir Data 2 aprilie 2014 11:57:51
Problema Orase Scor 100
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.04 kb
var n,m,i,v1,v2,x,y:longint;
    min,max,mini,maxi:array[1..2]of longint;

begin
  assign(input,'orase.in'); reset(input);
  assign(output,'orase.out'); rewrite(output);

  max[1] := -1000005; max[2] := -1000005;
  min[1] :=  1000005; min[2] :=  1000005;

  readln(n,m);

  for i := 1 to m do
  begin
    readln(x,y);
    v1 := x-y; v2 := x+y;

    if v1 < min[1] then
    begin
      min[2] := min[1]; mini[2] := mini[1];
      min[1] := v1;     mini[1] := i;
    end else
    if v1 < min[2] then
    begin
      min[2] := v1; mini[2] := i;
    end;

    if v2 > max[1] then
    begin
      max[2] := max[1]; maxi[2] := maxi[1];
      max[1] := v2;     maxi[1] := i;
    end else
    if v2 > max[2] then
    begin
      max[2] := v2; maxi[2] := i;
    end;

  end;

  if maxi[1] = mini[1] then
  begin
    v1 := max[1] - min[2];
    v2 := max[2] - min[1];

    if v2 > v1 then v1 := v2;

    writeln(v1);
    close(output);
    exit;

  end;

  writeln(max[1]-min[1]);



  close(input);
  close(output);
end.