Cod sursa(job #3303028)

Utilizator mihai.25Calin Mihai mihai.25 Data 12 iulie 2025 19:15:33
Problema Grupuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.62 kb
#include <fstream>

using namespace std;

ifstream fin ("grupuri.in");

ofstream fout ("grupuri.out");

int main () {

	int k, n;

	fin >> k >> n;

	int v[n + 1];

	long long cnt = 0;

	for (int i = 1; i <= n; ++i) {

		fin >> v[i];

		cnt += v[i];
	}

	long long rez = -1, st = 1, dr = cnt / k;

	while (st <= dr) {

		long long mij = st + (dr - st) / 2, sum = 0;

		for (int i = 1; i <= n; ++i) {

			if (v[i] > mij)
				sum += mij;
			else
				sum += v[i];
		}

		if (sum < k * 1LL * mij)
			dr = mij - 1;
		else {

			rez = mij;

			st = mij + 1;
		}
	}

	fout << rez;

	return 0;
}