Cod sursa(job #370947)

Utilizator AndreiDDiaconeasa Andrei AndreiD Data 2 decembrie 2009 20:24:00
Problema Bile2 Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.92 kb
#include <cstdio>
#include <algorithm>

using namespace std;

#define file_in "bile2.in"
#define file_out "bile2.out"

long long comb[1001][1001],a,b,c[1001][1001];
int n,d,i,j;


int main()
{
	freopen(file_in,"r",stdin);
	freopen(file_out,"w",stdout);
	
	scanf("%d %d %lld %lld", &n, &d, &a, &b);
	
	comb[0][0]=1;
	for (i=1;i<=n;++i)
	{
		comb[i][0]=1;
		for (j=1;j<=n;++j)
			 comb[i][j]=comb[i-1][j]+comb[i-1][j-1];
	}
	
/*	for (i=1;i<=n;++i)
	{
		for (j=1;j<=n;++j)
			 printf("%d ", comb[i][j]);
		printf("\n");
	}*/
	
	c[0][0]=1;	
	for (i=1;i<=n;++i)
	{
		c[0][i]=1;
		for (j=1;j<=n;++j)
			 c[i][j]=c[i][j-1]+c[i-1][max(j-d-1,0)];
	}
	
	/*for (i=1;i<=n;++i)
	{
		printf("%d ", c[i][n]);
		printf("\n");
	}*/
	
	for (i=1;i<=n;++i)
		if (comb[n][i]*(b-a)>=b*c[i][n])
		 {
			 printf("%d\n", i);
			 break;
		 }
		
		
	
	fclose(stdin);
	fclose(stdout);
	
	return 0;
	
}