Cod sursa(job #1179714)

Utilizator Mihai_ChihaiMihai Chihai Mihai_Chihai Data 29 aprilie 2014 08:47:04
Problema Lupul Urias si Rau Scor 0
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.88 kb
 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.