Pagini recente » Cod sursa (job #101586) | Cod sursa (job #2349157) | Cod sursa (job #2405509) | Cod sursa (job #51582) | Cod sursa (job #530000)
Cod sursa(job #530000)
#include<stdio.h>
#include<math.h>
int p,u,i,j,m,n,t,a[150*150+1],mij,min,x;
double s;
FILE *fin,*fout;
int main(){
int max=0;
fin=fopen("livada.in","r");
fout=fopen("livada.out","w");
fscanf(fin,"%d %d %d",&n,&m,&x);
for(i=1;i<=n*m;i++){
fscanf(fin,"%d",&a[i]);
if(a[i]>max){max=a[i];}
}
p=1;
u=max;
if(x==1){
fprintf(fout,"%d",max);
return 0;
}
while(p<=u){
mij=(p+u)/2;
s=0;
for(i=1;i<=n*m;i++){
if(a[i]>mij){
s=s+ceill(1.0*(a[i]-mij)/(x-1));
}
}
if(s<=mij){
u=mij-1;
min=mij;
}
else
p=mij+1;
}
fprintf(fout,"%d",min);
return 0;}