Cod sursa(job #3306879)

Utilizator EricDimiCismaru Eric-Dimitrie EricDimi Data 14 august 2025 18:24:09
Problema Grupuri Scor 34
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <bits/stdc++.h>

using namespace std;

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

const int MAX_N = 100000;

int a[MAX_N + 1], n, k;
int64_t t;

bool f(int64_t val) {
	if ((int64_t)(t + k - 1) / k <= val)
		return false;
	int64_t s = 0;
	for (int i = 1; i <= n; i++) {
		s += (a[i] > val ? a[i] : val);
		if (s >= (int64_t)k * val)
			return true;
	}
	return false;
}

int main() {
	fin >> k >> n;
	t = 0;
	for (int i = 1; i <= n; i++) {
		fin >> a[i];
		t += a[i];
	}
	
	int64_t st = 1, dr = (t + k - 1) / k, mid, res;
	while (st <= dr) {
		mid = st + ((dr - st) >> 1);
		if (f(mid) == 0)
			dr = mid - 1;
		else {
			st = mid + 1;
			res = mid;
		}
	}
	
	fout << res << "\n";
	
	fin.close();
	fout.close();
	return 0;
}