Cod sursa(job #895769)

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

function min(x,y:int64):int64;
begin
min:=x;
if x>y then min:=y;
end;
function max(x,y:int64):int64;
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;
i:=1;
while i<=n do begin
                 if b=1 then begin
                 if m>=(2*a[1,i]+d)then begin
                                     o:=o+2*a[1,i]+d;
                                     b:=2;
                                     end
                                     else o:=o+m+d;

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

                 end;
                 inc(i);
                 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(o);

close(f);
close(g);

end.