Cod sursa(job #255678)

Utilizator HubaNagy Csaba Huba Data 10 februarie 2009 10:33:46
Problema Caramizi Scor 0
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.97 kb
{$R-,S-}
{o incercare. 99% ca NU merge}
type
  List = array[1..200000] of longint;

var
be,ki:text;
j,xx,max,i,k,m,n:longint;
a:list;
procedure QuickSort(var A: List; Lo, Hi: Integer);

procedure Sort(l, r: Integer);
var
  i, j, x, y: integer;
begin
  i := l; j := r; x := a[(l+r) DIV 2];
  repeat
    while a[i] > x do i := i + 1;
    while x > a[j] do j := j - 1;
    if i <= j then
    begin
      y := a[i]; a[i] := a[j]; a[j] := y;
      i := i + 1; j := j - 1;
    end;
  until i > j;
  if l < j then Sort(l, j);
  if i < r then Sort(i, r);
end;

begin {QuickSort};
  Sort(Lo,Hi);
end;


begin
assign(be,'caramizi.in');reset(be);
assign(ki,'caramizi.out');rewrite(ki);
readln(be,n,m);
for i:=1 to n do
 read(be,a[i]);
quicksort(a,1,n);

for i:=1 to m do  begin
 read(be,k);
if n>=k then begin
  max:=0;
  for j:=1 to n do  begin
     xx:=a[j]*j;
     if max<xx then max:=xx;
 end;

end;
 writeln(ki,max);

end;
close(be);close(ki);
end.