Cod sursa(job #558846)

Utilizator HoriaClementHoriaC HoriaClement Data 17 martie 2011 14:37:00
Problema Grupuri Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.57 kb
#include <fstream>

using namespace std;

ifstream in("grupuri.in");
ofstream out("grupuri.out");

int n,k,v[100005];
void citire()
{
	in>>k>>n;
	for(int i=1;i<=n;++i)
		in>>v[i];
}

inline long long min(long long x,long long y)
{
	return x < y ? x : y;
}

bool ok(long long g)
{
	long long rez=0;
	for(int i=1;i<=n;++i)
		rez+=min(v[i],g);
	return rez>=k*g;
}
long long cb()
{
	long long i,pas=1;
	for(i=1;i<=34;++i)
		pas<<=1;
	for(i=0;pas;pas>>=1)
		if(ok(i+pas))
			i+=pas;
	return i;
}
int main()
{
	citire();
	out<<cb();
	return 0;
}