Pagini recente » Cod sursa (job #2442062) | Cod sursa (job #2920701) | Cod sursa (job #3000170) | Cod sursa (job #2608533) | Cod sursa (job #2159102)
#include <fstream>
using namespace std;
long long sum[100001], d[100001], Max, k, l, s, best, sol, rest, poz;
ifstream in("progresii.in");
ofstream out("progresii.out");
int main()
{
int n, i;
in >> n >> Max >> k >> l;
for (i = 1; i <= n; ++i)
{
in >> poz;
d[i] = l - poz;
sum[i] = sum[i - 1] + d[i] / Max + 1;
}
if (sum[n] <= k)
{
s = 0;
for (i = 1; i <= n; ++i)
{
best = sum[n] - sum[i];
rest = k - (s + best);
sol = d[i] / rest + 1;
s += d[i] / sol + 1;
out << sol << '\n';
}
}
else
out << -1 << '\n';
return 0;
}