Cod sursa(job #163439)

Utilizator DanielGGlodeanu Ioan Daniel DanielG Data 22 martie 2008 11:31:13
Problema Progresii Scor 0
Compilator fpc Status done
Runda preONI 2008, Runda Finala, Clasa a 9-a Marime 0.61 kb
var v,poz:array[1..100000] of longint;
m,n,t,i:longint;
k,l,kk,p:qword;
f:text;
ok:boolean;
begin
assign(f,'progresii.in');reset(f);
readln(f,n,m,k,l);
for i:=1 to n do
readln(f,poz[i]);
close(f);
for i:=1 to n do
v[i]:=1;
ok:=true;
t:=n;
kk:=0;
while ok do
begin
for i:=1 to n do
begin
p:=p+v[i];
if v[i]<=l-p-poz[i]+1 then
kk:=kk+((l-poz[i]+1)*v[i])
else inc(kk);
p:=0;
end;
if kk=k then ok:=false
else
begin
kk:=0;
if v[t]<>m then inc(v[t])
else
begin
dec(t);
inc(v[t]);
end;
end;
end;
assign(f,'progresii.out');rewrite(f);
for i:=1 to n do
writeln(f,v[i]);
close(f);
end.