Cod sursa(job #516485)

Utilizator lianaliana tucar liana Data 24 decembrie 2010 13:04:30
Problema Grupuri Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <stdio.h>
long int i, n, ok, k;
long long s, sa, nel, st, dr, m;
long int v[100000];

void citire()
{
	scanf("%ld %ld",&k,&n);
	for (i=1;i<=n;i++)
	{
		scanf("%ld",&v[i]);
		s=s+v[i];
	}
}

void verificare()
{
	nel=0;
	sa=0;
	i=1;
	while ((v[i]<m) and (i<=n))
	{
		sa=sa+v[i];
		i=i+1;
	}
	i=i-1;
	nel=sa/m;
	nel=nel+(n-i);
	if (nel>=k)
		ok=1;
		else
			ok=0;
}

void rezolvare()
{
	st=0;
	dr=s/k;
	while (st<=dr)
	{
		m=(st+dr)/2;
		verificare();
		if (ok)
			st=m+1;
		else
			dr=m-1;	
			
	}
	printf("%lld",dr);
}

int main()
{
	freopen("grupuri.in","r",stdin);
	freopen("grupuri.out","w",stdout);
	citire();
	rezolvare();
	return 0;
}