Pagini recente » Monitorul de evaluare | Istoria paginii utilizator/msimona201 | Cod sursa (job #802956) | Cod sursa (job #1884685) | Cod sursa (job #489898)
Cod sursa(job #489898)
#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];
vit=d/ac;
if(!ac)
vit=m+1;
else
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;
}