Cod sursa(job #2705092)

Utilizator tomaionutIDorando tomaionut Data 11 februarie 2021 21:25:42
Problema Grupuri Scor 20
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.61 kb
#include <bits/stdc++.h>
using namespace std;

ifstream fin("grupuri.in");
ofstream fout("grupuri.out");
long long n, k, a[100005], st;
long long dr, sol;
bool check(long long x)
{
	long long s = 0;
	for (int i = 1; i <= n; i++)
		s += min(x, a[i]);
	if (s > 1ll * x * k) return 1;
	return 0;
}
int main()
{
	int i, mij;
	fin >> k >> n;
	for (i = 1; i <= n; i++)
	{
		fin >> a[i];
		dr += a[i];
	}
	dr /= k;
	st = 1;
	while (st <= dr)
	{
		mij = (st + dr) / 2;
		if (check(mij) == 0)
		{
			sol = mij;
			dr = mij - 1;
		}
		else st = mij + 1;
	}
	fout << sol << "\n";
	return 0;
}