Pagini recente » Cod sursa (job #1223862) | Cod sursa (job #3153982) | Cod sursa (job #2169017) | Cod sursa (job #2712628) | Cod sursa (job #2627024)
#include <bits/stdc++.h>
using namespace std;
const int DIM = 1e5 + 5;
int n, m;
int x[DIM];
long long k, l;
int main() {
freopen("progresii.in", "r", stdin);
freopen("progresii.out", "w", stdout);
scanf("%d%d", &n, &m);
scanf("%lld%lld", &k, &l);
++l;
long long sum = 0;
for (int i = 1; i <= n ; ++i) {
scanf("%d", &x[i]);
if (x[i] > l) continue ;
sum = sum + (l - x[i]) / m + (((l - x[i]) % m) > 0);
}
if (sum > k) {
printf("-1");
return 0;
}
for (int i = 1; i <= n ; ++i) {
if(x[i] > l) continue ;
sum = sum - ((l - x[i]) / m + (((l - x[i]) % m) > 0));
long long timp = k - sum;
long long vit = max((l - x[i]) / timp + (((l - x[i]) % timp) > 0), 1LL);
k -= ((l - x[i]) / vit + (((l - x[i]) % vit) > 0));
printf("%lld\n", vit);
}
return 0;
}