Pagini recente » Monitorul de evaluare | Cod sursa (job #728622) | Cod sursa (job #923116) | Borderou de evaluare (job #3121139) | Cod sursa (job #2055463)
#include <iostream>
#include<fstream>
using namespace std;
int main(){
long long k, l, n, m, p[100000], v[100000], nr(0);
ifstream f("progresii.in");
ofstream g("progresii.out");
f>>n>>m>>k>>l;
for (int i=1; i<=n; i++){
f>>p[i];
nr+=(l-p[i])/m+1;
v[i]=m;
}
if (nr>k){
g<<"-1";
return 0;
}
for (int i=1; i<=n; i++){
nr=nr-(l-p[i])/m-1;
v[i]=(l-p[i])/(k-nr)+1;
nr=nr+(l-p[i])/v[i]+1;
g<<v[i]<<'\n';
}
return 0;
}