Pagini recente » Cod sursa (job #2479847) | Cod sursa (job #1448096) | Cod sursa (job #1908975) | Cod sursa (job #3217552) | Cod sursa (job #190263)
Cod sursa(job #190263)
#include<stdio.h>
long long n,m,k,l;
long long p[100010];
long long v[100010];
long long s,ram;
int main()
{
freopen("progresii.in","r",stdin);
freopen("progresii.out","w",stdout);
scanf("%lld%lld%lld%lld",&n,&m,&k,&l);
int i,aux;
//float aux1;
s=n;
for(i=1; i<=n; i++)
{
scanf("%lld",&p[i]);
v[i]=(l-p[i])/m;
s+=v[i];
}
if(s>k)
{
printf("-1\n");
return 0;
}
ram=k-s;
for(i=1; i<=n; i++)
{
ram+=v[i];
if(ram)
{
aux=(l-p[i])/ram;
if((l-v[i])%ram)
aux++;
}
else
aux=l-p[i]+1;
//printf("%f\n",aux1);
if(aux<m)
{
v[i]=(l-p[i])/aux;
ram-=v[i];
printf("%d\n",aux);
}
else
{
printf("%lld\n",m);
ram-=v[i];
}
}
return 0;
}