Pagini recente » Cod sursa (job #2162469) | Cod sursa (job #2134165) | Clasament test_casian | Cod sursa (job #1888795) | Cod sursa (job #487343)
Cod sursa(job #487343)
#include<fstream>
using namespace std;
long long n,m,k,l,i,j,sp,v[100005],r;
int main()
{ifstream q("progresii.in");
ofstream w("progresii.out");
q>>n>>m>>k>>l;
for(i=1;i<=n;++i)
{q>>v[i];
v[i]=l-v[i];
r=r+v[i]/m+1;}
if(r-k>0)
{w<<"-1\n";
return 0;}
for(i=1;i<=n;++i)
{r-=v[i]/m+1;
for(sp=(1<<30),j=0;sp;sp>>=1)
if(j+sp<=m)
if(r+(v[i]/(j+sp)+1)>k)
j=j+sp;
++j;
r=r+(v[i]/(j+sp)+1);
w<<j<<"\n";}}