Cod sursa(job #585835)

Utilizator deneoAdrian Craciun deneo Data 30 aprilie 2011 12:07:19
Problema Fabrica Scor 20
Compilator cpp Status done
Runda Algoritmiada 2011, Runda Finală, Clasele 5-9 Marime 0.59 kb
#include<cstdio>
using namespace std;

int vit[50001], n, nrb;

inline int isPossible(int tmp) {
	int i, m = 0;
	for(i = 1; i <= n; ++i)
		m += tmp / vit[i];
	if(m < nrb)
		return 0;
	return 1;
}

int cautabinar() {
	int i, r = 1 << 31; // mareste cam pana la 32
	for(i = 1 << 30; i >= 1; i >>= 1) {
		if(isPossible(r - i))
			r -= i;
	}
	return r;
 }

int main() {
	int i, ax;
	
	freopen("fabrica.in", "rt", stdin);
	freopen("fabrica.out", "wt", stdout);
	scanf("%d%d%d", &nrb, &n, &ax);
	for(i = 1; i <= n; ++i)
		scanf("%d", &vit[i]);
		
	ax = cautabinar();
	printf("%d %d\n", ax, ax + 1);
	return 0;
}