Cod sursa(job #2014632)

Utilizator mihai.alphamihai craciun mihai.alpha Data 24 august 2017 10:53:27
Problema Grupuri Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#include <stdio.h>

#define MAXN 100000
#define MAXVAL 1000000

FILE *fin, *fout;

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

inline bool chk(int r) {
	long long s = 0LL;
	for (int 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, "%d%d", &K, &N);
	for (int i = 1; i <= N; i++)
		fscanf(fin, "%d", &A[i]);
	int r = 0, pas = 1 << 24;
	while (pas) {
		if (chk(r + pas)) {
			r += pas;
		}
		pas >>= 1;
	}
	fprintf(fout, "%d", r);
	fclose(fin);
	fclose(fout);
	return 0;
}