Pagini recente » Cod sursa (job #3281099) | Cod sursa (job #1648102) | Cod sursa (job #2679842) | Cod sursa (job #981394) | Cod sursa (job #190261)
Cod sursa(job #190261)
#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)
{
aux1=(float)(l-p[i])/ram;
aux=(int)aux1;
if(aux!=aux1)
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;
}