Pagini recente » Cod sursa (job #1519061) | Cod sursa (job #1458598) | Cod sursa (job #105939) | Cod sursa (job #3125340) | Cod sursa (job #1179714)
var a,b:array[0..100000] of longint;
n,i,j,x,l,max,sum,k:longint;
procedure sort(l,r:longint);
var aux,m,i,j:longint;
begin
i:=l;
j:=r;
m:=a[(i+j) div 2];
while i<=j do begin
while a[i]<m do inc(i);
while a[j]>m do dec(j);
if i<=j then begin
aux:=a[i];
a[i]:=a[j];
a[j]:=aux;
aux:=b[i];
b[i]:=b[j];
b[j]:=aux;
inc(I);
dec(j);
end;
end;
if i<r then sort(i,r);
if l<j then sort(l,j);
end;
begin
assign(input,'lupu.in'); reset(input);
assign(output,'lupu.out'); rewrite(output);
readln(n,x,l);
for i:=1 to n do readln(a[i],b[i]);
sort(1,n);
sum:=0;
i:=n;
k:=1;
repeat
max:=0;
while (a[i]>=n-k*l)and(i>0) do begin
if a[i]<=n-(k-1)*l then if max<b[i] then max:=b[i];
dec(i);
end;
inc(k);
sum:=sum+max;
until i=0;
write(sum);
close(output);
end.