Cod sursa(job #487340)

Utilizator zloteanu.adrianzloteanu adrian nichita zloteanu.adrian Data 24 septembrie 2010 19:07:33
Problema Progresii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.47 kb
#include<fstream>
using namespace std;
long long n,m,k,l,i,j,step,p[100005],rez;
int main()
{ifstream q("progresii.in");
ofstream w("progresii.out");
q>>n>>m>>k>>l;
for(i=1;i<=n;++i)
  {q>>p[i];
  p[i]=l-p[i];
  rez=rez+p[i]/m+1;}
if(rez-k>0)
 {w<<"-1\n";
 return 0;}
for(i=1;i<=n;++i)
  {rez-=p[i]/m+1;
  for(step=(1<<30),j=0;step;step>>=1)
    if(j+step<=m)
     if(rez+(p[i]/(j+step)+1)>k)
      j=j+step;
 ++j;
 rez=rez+(p[i]/(j+step)+1);
 w<<j<<"\n";}}