Pagini recente » Cod sursa (job #564562) | Cod sursa (job #30495) | Cod sursa (job #2002763) | Cod sursa (job #2876168) | Cod sursa (job #1604021)
#include <bits/stdc++.h>
#define maxN 100002
#define ll long long
using namespace std;
int n, m, p[maxN], sol;
ll k, l, s;
void read()
{
int i;
freopen("progresii.in", "r", stdin);
scanf("%d %d %lld %lld", &n, &m, &k, &l);
k -= n;
for (i = 1; i <= n; ++ i)
{
scanf("%d", &p[i]);
s = s + 1LL * ((l - p[i]) / m);
}
}
void solve()
{
int i;
if (s > k)
{
sol = -1;
return ;
}
}
void write()
{
int v, i;
freopen("progresii.out", "w", stdout);
if (sol == -1)
printf("-1");
else
{
for (i = 1; i <= n; ++ i)
{
s -= (1LL * (l - p[i]) / m);
if (1LL * (l - p[i]) <= 1LL * k - s)
v = 1;
else
v = (l - p[i]) / (k - s + 1) + 1;
k -= (1LL * (l - p[i]) / v);
printf("%d\n", v);
}
}
}
int main()
{
read();
solve();
write();
return 0;
}