Pagini recente » Cod sursa (job #2548814) | Cod sursa (job #20010) | Cod sursa (job #137316) | Cod sursa (job #2186168) | Cod sursa (job #165328)
Cod sursa(job #165328)
#include<stdio.h>
long long p,u,mij,q,j,s,n,m,k,l,i,x,y,t,spm,pm;
int v[100101];
int main(){
FILE *f=fopen("progresii.in","r");
fscanf(f,"%lld %lld %lld %lld",&n,&m,&k,&l);
for(i=1;i<=n;i++){
fscanf(f,"%lld",&x);
v[i]=l-x;
pm = 1+v[i]/m;
spm+=pm;
}
FILE *g = fopen("progresii.out","w");
if (spm<=k) {
//caut cea mai mica valoare t ai t<=m spm-(1+v[i]/t)<=k-(1+v[i]/m)
for (i=1;i<=n;i++) {
//caut t
t=1;
while (spm-(1+v[i]/(m))>k-(1+v[i]/t)) {
t++;
if (t==m+1)
break;
}
// t--;
//x[i]=t;
fprintf(g,"%lld\n",t);
spm-=(1+v[i]/m);
k-=(1+v[i]/t);
}
} else
fprintf(g,"-1");
fclose(g);
fclose(f);
return 0;
}