Pagini recente » Cod sursa (job #2869960) | Cod sursa (job #422601) | Cod sursa (job #2857185) | Cod sursa (job #916863) | Cod sursa (job #253893)
Cod sursa(job #253893)
var f,g:text;
n,m,i,cn,max:longint;
a:int64;
x:array[1..200000] of int64;
v:array[0..1000000] of integer;
sum,r:array[0..1000000] of int64;
begin
assign (f,'caramizi.in');reset(f);
assign (g,'caramizi.out');rewrite (g);
readln (f,n,m);
max:=0;
for i:=1 to n do begin
read (f,a);
inc(v[a]);
if a>max then max:=a;
end;
for i:=1 to m do begin
read(f,x[i]);
if x[i]>max then max:=x[i];
end;
if max>1000000 then max:=1000000;
sum[0]:=0;
cn:=n;
for i:=1 to max do begin
sum[i]:=(i*v[i])+sum[i-1];
cn:=cn-v[i];
v[i]:=cn+v[i];
end;
for i:=1 to max do begin
r[i]:=v[i]*i+(sum[i-1] div i)*i;
if r[i-1]>r[i] then r[i]:=r[i-1];
end;
for i:=1 to m do begin
if x[i]<=max then writeln (g,r[x[i]])
else writeln (g,r[max]);
end;
close(f);close(g);
end.