Pagini recente » Cod sursa (job #2171379) | Cod sursa (job #1973033) | Cod sursa (job #2449439) | Cod sursa (job #1893117) | Cod sursa (job #263295)
Cod sursa(job #263295)
var f,g:text;
a:array[0..100010]of int64;
v:array[0..100010]of longint;
n,m,i,r,st,dr:longint;
k,l,s,x:int64;
begin
assign(f,'progresii.in');
assign(g,'progresii.out');
reset(f);
rewrite(g);
read(f,n,m,k,l);
for i:=1 to n do read(f,v[i]);
for i:=1 to n do
begin
a[i]:=(l-v[i]) div m+1;
inc(s,a[i]);
end;
s:=k-s;
for i:=1 to n do
begin
r:=-1;
st:=1;
dr:=m;
x:=s+a[i];
while (st<=dr)do
begin
k:=st+(dr-st)div 2;
if ((l-v[i])div k+1<=x)then
begin
r:=k;
dr:=k-1;
end else st:=k+1;
end;
if (r=-1)then break;
s:=s-((l-v[i]) div r +1)+a[i];
a[i]:=r;
end;
if (r=-1)then write(g,r)else
for i:=1 to n do writeln(G,a[i]);
close(f);
close(g);
end.