Pagini recente » Cod sursa (job #3175736) | Cod sursa (job #1239409) | Cod sursa (job #2082451) | Cod sursa (job #1780083) | Cod sursa (job #163575)
Cod sursa(job #163575)
#include <stdio.h>
long long n,m,k,l,s,i,x,a[100005],b[100005],c[100005];
int main()
{
FILE *in,*out;
n=1;
out=fopen("progresii.out","w");
in=fopen("progresii.in","r");
fscanf(in,"%lld%lld%lld%lld",&n,&m,&k,&l);
for (i=1;i<=n;i++)
{
fscanf(in,"%lld",&a[i]);
c[i]=m;
b[i]=(l-a[i]+1)/m;
s+=b[i];
a[i]=l-a[i]+1;
}
if (s>k)
{
fprintf(out,"-1\n");
fclose(in);
fclose(out);
return 0;
}
for (i=1;i<=n&&s<k;i++)
{
x=k-s+b[i];
c[i]=a[i]/x;
if (a[i]%x)
c[i]++;
x=s;
s+=a[i]/c[i]-b[i];
if (a[i]%c[i])
s++;
b[i]=x-s+b[i];
}
for (i=1;i<=n;i++)
{
fprintf(out,"%lld\n",c[i]);
}
fclose(in);
fclose(out);
return 0;
}