Cod sursa(job #529914)

Utilizator cat_red20Vasile Ioana cat_red20 Data 6 februarie 2011 15:21:03
Problema Grupuri Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.46 kb
#include<stdio.h>
int v[100001],n,k,i;
long long s,m,u,p,max;
FILE *fin,*fout;
int main(){
	fin=fopen("grupuri.in","r");
	fout=fopen("grupuri.out","w");
	fscanf(fin,"%d %d",&k,&n);
	for(i=1;i<=n;i++){
		fscanf(fin,"%d",&v[i]);
		s+=v[i];
	}
	p=1;
	u=s/k;
	while(p<=u){
		m=(p+u)/2;
		s=0;
		for(i=1;i<=n;i++){
			if(v[i]<=m){s+=v[i];}
			else
				s+=m;
		}
		if(k*m>s){u=m-1;}
		else{
			p=m+1;
			max=m;
		}
	}
	fprintf(fout,"%d",max);
return 0;}