Pagini recente » Cod sursa (job #1810339) | Cod sursa (job #983966) | Cod sursa (job #91850) | Cod sursa (job #372396) | Cod sursa (job #1848416)
#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]) + 1;
sol[i] = x[i]/maxAcceptedSeconds + 1;
if (x[i] <= K - (S[N]-S[i]))
sol[i] = 1;
K-=x[i]/sol[i];
}
for (int i=1;i<=N;i++)
fout<<sol[i]<<"\n";
return 0;
}