Pagini recente » Cod sursa (job #2759190) | Cod sursa (job #3274951) | Cod sursa (job #2195374) | Cod sursa (job #1980370) | Cod sursa (job #137704)
Cod sursa(job #137704)
program carnati;
var n,i,c,minim,maxim,rez,aux,aux1,j,max:longint;
t,p:array[1..1500] of longint;
da:boolean;
f,g:text;
begin
assign(f,'carnati.in'); assign(g,'carnati.out');
reset(f);rewrite(g);
read(f,n,c);
minim:=1501; maxim:=0;
for i:=1 to n do
begin
read(f,t[i],p[i]);
if minim>t[i] then minim:=t[i];
if maxim<t[i] then maxim:=t[i];
end;
max:=0;
for i:=1 to n do
begin
aux:=0; minim:=t[i]; maxim:=t[i];
for j:=1 to n do
if p[i]<=p[j] then
begin
da:=true;
if maxim<t[j] then if c*(t[j]-maxim+1)>p[i] then da:=false;
if minim<t[j] then if c*(minim-t[j]+1)>p[i] then da:=false;
if da then
begin
if t[j]<minim then minim:=t[j];
if maxim<t[j] then maxim:=t[j];
aux:=aux+1;
end;
end;
rez:=-c*(maxim-minim+1);
if rez+p[i]*aux>max then max:=rez+p[i];
end;
writeln(g,max);
close(f); close(g);
end.