Cod sursa(job #122885)

Utilizator ProtomanAndrei Purice Protoman Data 13 ianuarie 2008 20:35:17
Problema Tribute Scor 100
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.13 kb
const mx=50001;
type vct=array[-1..100000] of longint;

var f1,f2:text;
    i,n,dx,dy,dr,m,sm,e,s:longint;
    x,y,v,a:vct;
    csd,cst,css:array[-1..100000] of int64;

procedure calcul(d:longint);
begin
        sm:=maxlongint;
        s:=0;
        e:=0;
        for i:=1 to n do
                inc(v[a[i]]);
        for i:=mx downto 1 do
                csd[i]:=csd[i+1]+v[i+1];
        for i:=0 to mx-d do
                css[i]:=css[i-1]+v[i];
        for i:=mx downto 1 do
                cst[i]:=cst[i+1]+csd[i+1]+v[i+1];
        for i:=0 to mx-d do
        begin
                s:=e+cst[i+d];
                e:=e+css[i];
                if s<sm then
                        sm:=s;
        end;
        for i:=0 to mx do
                v[i]:=0;
end;

begin
        assign(f1,'tribute.in');
        reset(f1);
        assign(f2,'tribute.out');
        rewrite(f2);
        read(f1,n,dx,dy);
        for i:=1 to n do
                read(f1,x[i],y[i]);
        a:=x;
        calcul(dx);
        m:=sm;
        a:=y;
        calcul(dy);
        writeln(f2,sm+m);
        close(f1);
        close(f2);
end.