Cod sursa(job #487343)

Utilizator zloteanu.adrianzloteanu adrian nichita zloteanu.adrian Data 24 septembrie 2010 19:10:42
Problema Progresii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.44 kb
#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";}}