Pagini recente » Cod sursa (job #1066528) | Cod sursa (job #2445757) | Cod sursa (job #1532231) | Cod sursa (job #126093) | Cod sursa (job #1994533)
#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]);
p[i]--;
}
for(i = n; i >= 1; i--)
t[i] = t[i + 1] + (l - p[i]) / m;
if(t[1] > k)
fprintf(fout,"-1\n");
else
for(i = 1; i <= n; i++) {
int x = (l - p[i]) / (k - t[i + 1]);
if(1LL * x * (k - t[i + 1]) < l - p[i])
x++;
fprintf(fout,"%d\n" ,x);
k -= (l - p[i]) / x;
}
fclose(fi);
fclose(fout);
return 0;
}