Pagini recente » Cod sursa (job #1525504) | Cod sursa (job #2249459) | Cod sursa (job #555128) | Cod sursa (job #860355) | Cod sursa (job #489900)
Cod sursa(job #489900)
#include<stdio.h>
#define ll long long
ll v[100005],n,m;
ll s[100005],k,l;
int main ()
{
ll i,ac,d,vit,r;
freopen("progresii.in","r",stdin);
freopen("progresii.out","w",stdout);
scanf("%lld%lld%lld%lld",&n,&m,&k,&l);
l++;
for(i=1;i<=n;i++)
scanf("%lld",&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];
if(!ac)
vit=m+1;
else
{
vit=d/ac;
if(d%ac)
vit++;
}
if(vit>m)
{
printf("-1\n");
return 0;
}
printf("%lld\n",vit);
k-=(d/vit+(d%vit ? 1 : 0));
}
return 0;
}