Pagini recente » Cod sursa (job #136912) | Cod sursa (job #221468) | Cod sursa (job #2452079) | Cod sursa (job #2476618) | Cod sursa (job #164440)
Cod sursa(job #164440)
#include <stdio.h>
int sum,x,n,m,k,l,i;
int conc[100010];
int poz[100010];
int main()
{
freopen("progresii.in","r",stdin);
freopen("progresii.out","w",stdout);
scanf("%d%d%d%d",&n,&m,&k,&l);
for (i=1; i<=n; i++) scanf("%d",&poz[i]);
sum=0;
for (i=1; i<=n; i++)
{
conc[i]=m;
sum++;
sum=sum+(l-poz[i])/m;
}
if (sum>k) printf("-1\n");
else
{
for (i=1; i<=n; i++)
{
sum=sum-((l-poz[i])/m+1);
x=k-sum;
if (l-poz[i]+1<x)
{
x=l-poz[i]+1;
conc[i]=1;
}
else
{
conc[i]=(l-poz[i]+1)/x;
if ((l-poz[i]+1)%x!=0) conc[i]++;
x=(l-poz[i]+1)/conc[i];
if ((l-poz[i]+1)%conc[i]!=0) x++;
}
sum+=x;
}
for (i=1; i<=n; i++)
printf("%d\n",conc[i]);
}
return 0;
}