Cod sursa(job #2014637)

Utilizator mihai.alphamihai craciun mihai.alpha Data 24 august 2017 11:04:22
Problema Grupuri Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <stdio.h>

#define MAXN 100000
#define MAXVAL 1000000

FILE *fin, *fout;

long long K, N;
long long A[MAXN + 1];

inline bool chk(long long r) {
	long long s = 0LL;
	for (long long i = 1; i <= N; i++) {
		if (A[i] >= r) {
			s += 1LL * r;
		}
		else s += 1LL * A[i];
	}
	return (s >= 1LL * r * K);
}

int main() {
	fin = fopen("grupuri.in", "r");
	fout = fopen("grupuri.out", "w");
	fscanf(fin, "%lld%lld", &K, &N);
	for (long long i = 1; i <= N; i++)
		fscanf(fin, "%lld", &A[i]);
	long long r = 0, pas = 1LL << 38;
	while (pas) {
		if (chk(r + pas)) {
			r += pas;
		}
		pas >>= 1;
	}
	fprintf(fout, "%lld", r);
	fclose(fin);
	fclose(fout);
	return 0;
}