Cod sursa(job #2822627)

Utilizator lolismekAlex Jerpelea lolismek Data 24 decembrie 2021 16:37:12
Problema Grupuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.62 kb
#include <iostream>
#include <fstream>

#define int long long

using namespace std;

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

const int N = 1e5 + 1, VAL = 1e6 + 1;
int v[N];

bool check(int rasp, int n, int k) {
	int sum = 0;
	for (int i = 1; i <= n; i++) {
		if (v[i] > rasp) sum += rasp;
		else sum += v[i];
	}
	return sum >= rasp * k;
}

signed main() {
	int k, n;
	fin >> k >> n;
	for (int i = 1; i <= n; i++) fin >> v[i];
	int st = 1, dr = N * VAL + 1;
	while (dr - st > 1) {
		int mij = (st + dr) / 2;
		if (check(mij, n, k)) st = mij;
		else dr = mij;
	}
	fout << st;
	return 0;
}