Cod sursa(job #163646)

Utilizator ErgoVicol Sergiu Constantin Ergo Data 22 martie 2008 14:51:33
Problema Progresii Scor 0
Compilator cpp Status done
Runda preONI 2008, Runda Finala, Clasa a 9-a Marime 0.7 kb
#include <fstream.h>
	ifstream fin("progresii.in");
    ofstream fout("progresii.out");

	long long k,l,max=0,max2,imp;

    int n;
    long long a[100001];
    long long i,cit,m,j,t;



int main(){



    fin>>n>>m>>k>>l;
    for (i=1;i<=n;i++){
       fin>>a[i];
       a[i]=l-a[i]+1;
       t=a[i]/m;
       if (a[i]%m>0) t++;
       max=max+t;
    }
	if (max>k){ fout<<"-1";
    return 0;
	}
max2=max;
    for (i=1;i<=n;i++){
       t=a[i]/m;
       if (a[i]%m>0) t++;
       max2=max2-t;
         imp=k-max2;
         if (imp>a[i]) imp=a[i];
         max2=max2+imp;
         t=a[i]/imp;
         if (a[i]%imp>0) t++ ;
         fout<<t<<'\n';
    }
fout.close();
return 0;
}