Pagini recente » Cod sursa (job #1000009) | Cod sursa (job #2970145) | Cod sursa (job #2177544) | Cod sursa (job #894002) | Cod sursa (job #1994534)
#include <bits/stdc++.h>
#define MAXN 100001
long long t[MAXN + 1];
long long p[MAXN + 1];
int main() {
FILE *fi, *fout;
int i, n, m;
long long l, k;
fi=fopen("progresii.in" ,"r");
fout=fopen("progresii.out" ,"w");
fscanf(fi,"%d %d %lld %lld " ,&n, &m, &k, &l);
for(i = 1; i <= n; i++)
fscanf(fi,"%lld " ,&p[i]);
for(i = n; i >= 1; i--)
t[i] = t[i + 1] + 1 + (l - p[i]) / m;
if(t[1] > k)
fprintf(fout,"-1\n");
else
for(i = 1; i <= n; i++) {
long long x = (l - p[i]) / (k - t[i + 1]) + 1;
fprintf(fout,"%lld\n" ,x);
k -= 1 + (l - p[i]) / x;
}
fclose(fi);
fclose(fout);
return 0;
}