Pagini recente » Cod sursa (job #782844) | Cod sursa (job #1731379) | Cod sursa (job #1653766) | Cod sursa (job #724748) | Cod sursa (job #2036767)
#include<bits/stdc++.h>
using namespace std;
ifstream f("progresii.in");
ofstream g("progresii.out");
long long n,m,k,l;
long long v[100002];
long long srm[100002];
int main()
{
f>>n>>m>>k>>l;
for(int i=1;i<=n;++i)
f>>v[i];
for(int i=n;i>=1;--i)
{
srm[i]=srm[i+1];
srm[i]+=((l-v[i])/m+1);
}
for(int i=1;i<=n;++i)
{
long long b=1;
long long e=m;
while(b<=e)
{
long long mj=(b+e)/2;
if(mj==1 || k-((l-v[i])/mj+1)>=srm[i+1] && k-((l-v[i])/(mj-1)+1)<srm[i+1])
{
g<<mj<<'\n';
k=k-((l-v[i])/mj+1);
break;
}
else
if(k-((l-v[i])/mj+1)<srm[i+1])
b=m+1;
else
e=m-1;
}
}
return 0;
}