Cod sursa(job #2353709)

Utilizator mihnea.anghelMihnea Anghel mihnea.anghel Data 24 februarie 2019 15:26:56
Problema Grupuri Scor 82
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.58 kb
#include <fstream>

using namespace std;
ifstream f("grupuri.in");
ofstream g("grupuri.out");
unsigned long long n, k, v[100001],st,dr,mid,i;

unsigned long long verifica (unsigned long long x){
	unsigned long long trebuie=x*k;
	unsigned long long s=0;
	for(unsigned long long i=1;i<=n;i++)
		if(v[i]<x)
			s+=v[i];
		else
			s+=x;
	if(s>=trebuie)
		return 1;
	return 0;
}

int main()
{
	f>>k>>n;
	for(i=1;i<=n;i++)
		f>>v[i];
	st=1; dr=(1LL<<62)-1;
	while(st<=dr){
		mid=st+(dr-st)/2;
		unsigned long long x=verifica (mid);
		if(x==1)
			st=mid+1;
		else
			dr=mid-1;
	}
	g<<dr;
	return 0;
}