Cod sursa(job #2683054)

Utilizator Robert.BrindeaBrindea Robert Robert.Brindea Data 10 decembrie 2020 12:26:07
Problema Grupuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.62 kb
#include <iostream>
#include <fstream>

using namespace std;

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

const int MAXN = 100003;
int k, n;
long long a[MAXN];
long long sum;

bool valid(long long x)
{
	long long contor = 0;
	for (int i = n - 1; i >= 0; i--)
		contor += min(x, a[i]);
	return contor >= 1ll * x * k;
}

int main()
{
	fin >> k >> n;
	for(int i = 0; i < n; i++)
	{
		fin >> a[i];
		sum += a[i];
	}
	long long st = 0, dr = sum;
	while (st < dr-1)
	{
		long long mid = st + (dr-st)/2;
		if (valid(mid))
            st = mid;
		else
            dr = mid;
	}
	fout << st;
}