Pagini recente » Cod sursa (job #2676500) | Cod sursa (job #1519338) | Cod sursa (job #1609088) | Cod sursa (job #2213405) | Cod sursa (job #489879)
Cod sursa(job #489879)
#include<stdio.h>
int v[100005],n,m;
int s[100005],k,l;
int main ()
{
int i,ac,d,vit,r;
freopen("progresii.in","r",stdin);
freopen("progresii.out","w",stdout);
scanf("%d%d%d%d",&n,&m,&k,&l);
l++;
for(i=1;i<=n;i++)
scanf("%d",&v[i]);
for(i=n;i>=1;i--)
{
r=(l-v[i])%m;
s[i]=s[i+1]+(l-v[i])/m;
if(!r)
s[i]++;
}
for(i=1;i<=n;i++)
{
ac=k-s[i+1];
d=l-v[i];
vit=d/ac;
if(d%ac)
vit++;
if(vit>m)
{
printf("-1\n");
return 0;
}
printf("%d\n",vit);
k-=(d/vit+(d%vit ? 1 : 0));
}
return 0;
}