Pagini recente » Cod sursa (job #651785) | Cod sursa (job #2196927) | Cod sursa (job #1697183) | Cod sursa (job #2665618) | Cod sursa (job #1848412)
#include <fstream>
#include <iostream>
#define DIM 100010
using namespace std;
ifstream fin ("progresii.in");
ofstream fout("progresii.out");
long long N, M, K, L, x[DIM], t;
long long Min[DIM], S[DIM], sol[DIM];
int main () {
ifstream fin ("progresii.in");
ofstream fout("progresii.out");
fin>>N>>M>>K>>L;
for (int i=1;i<=N;i++) {
fin>>x[i];
x[i] = L-x[i];
S[i] = S[i-1] + x[i]/M;
//cout<<Min[i]<<" ";
}
K-=N;
if (S[N] > K) {
fout<<-1;
return 0;
}
for (int i=1;i<=N;i++) {
long long maxAcceptedSeconds = K - (S[N]-S[i]);
sol[i] = (L-x[i])/maxAcceptedSeconds;
if ((L-x[i])%maxAcceptedSeconds != 0)
sol[i]++;
K-=(L-x[i])/sol[i];
}
for (int i=1;i<=N;i++)
fout<<sol[i]<<"\n";
return 0;
}