Pagini recente » Cod sursa (job #1591494) | Cod sursa (job #3187356) | Cod sursa (job #2459782) | Borderou de evaluare (job #2055061) | Cod sursa (job #2126909)
#include <fstream>
using namespace std;
long long sum[100001],d[100001],Max,k,l,s,best,sol,rest,poz;
int main()
{ int n,i;
ifstream f("progresii.in");
ofstream g("progresii.out");
f>>n>>Max>>k>>l;
for (i=1;i<=n;++i) {
f>>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;
g<<sol<<'\n';
}
}
else g<<"-1"<<'\n';
return 0;
}