Cod sursa(job #895654)

Utilizator tgistvanTorok Istvan tgistvan Data 27 februarie 2013 12:06:46
Problema Magazin Scor 0
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.3 kb
var i,p,n,m,d,o:longint;
    x,y,b:longint;
    a:array[0..2,0..10000]of integer;
    f,g:text;

function min(x,y:integer):integer;
begin
min:=x;
if x>y then min:=y;
end;
function max(x,y:integer):integer;
begin
max:=x;
if x<y then max:=y;
end;



begin
assign(f,'magazin.in');reset(f);
assign(g,'magazin.out');rewrite(g);
readln(f,p,n,m,d);
i:=1;
while i<=p do begin readln(f,x,y);
                inc(i);
                a[1,x]:=max(a[1,x],(y));
                a[2,x]:=max(a[2,x],(abs(y-m)+1));
          end;

o:=0;
b:=1;
for i:=1 to n do begin
                 if b=1 then begin
                 if m<(2*a[2,i]+d)then begin
                                     o:=o+m;
                                     b:=2;
                                     end
                                     else o:=o+m+d;

                 end
                 else begin
                 if m<(2*a[1,i]+d)then begin
                                     o:=o+m;
                                     b:=1;
                                     end
                                     else o:=o+m+d;

                 end;
                 end;
{writeln(n);
 for i:=1 to n do write(a[i]:3);
 writeln;
 for i:=1 to n do write(b[i]:3);
 writeln;}
writeln(g,o);

close(f);
close(g);

end.