Cod sursa(job #595428)

Utilizator valentin.harsanValentin Harsan valentin.harsan Data 12 iunie 2011 17:02:53
Problema Grupuri Scor 74
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.5 kb
#include<stdio.h>

int n,k,x[100010];

bool ver(int g) {
	int i;
	long long su=0;
	for(i=1;i<=n;++i) {
		if(x[i]>g)
			su+=g;
		else
			su+=x[i];
		if(su>=g*k)
			break;
	}
	if(su>=k*g)
		return 1;
	return 0;
}

int main() {
	long long i,pas;
	freopen("grupuri.in","r",stdin);
	freopen("grupuri.out","w",stdout);
	scanf("%d%d",&k,&n);
	for(i=1;i<=n;++i)
		scanf("%d",&x[i]);
	pas=1<<20;
	for(i=0;pas!=0;pas>>=1)
		while(ver(i+pas))
			i+=pas;
	printf("%d",i);
	return 0;
}