比赛 防止isaac的小练习day2 评测结果 AAAAAAAAAA
题目名称 摆花 最终得分 100
用户昵称 Mealy 运行时间 0.014 s
代码语言 C++ 内存使用 0.38 MiB
提交时间 2016-11-02 17:47:55
显示代码纯文本
#include <cstdio>


using namespace std;


const int nmax=186;
const int FJ=1000007;


int n,m;

int tmp=0;


int a[nmax]={0};
int f[nmax][nmax]={0};


void PreDo()
{
	scanf("%d%d",&n,&m);
	for(int i=1;i<=n;i++)
	{
		scanf("%d",&a[i]);
	}
	for(int i=0;i<=a[1];i++)
	{
		f[1][i]=1;
	}
}


void DP()
{
	for(int i=1;i<=n;i++)
	{
		for(int j=0;j<=m;j++)
		{
			if(j<a[i])
			{
				tmp=j;
			}
			else
			{
				tmp=a[i];
			}
			for(int sand=0;sand<=tmp;sand++)
			{
				f[i][j]=(f[i][j]+f[i-1][j-sand])%FJ;
			}
		}
	}
	printf("%d\n",f[n][m]);
}


int main()
{
	freopen("flower.in","r",stdin);
	freopen("flower.out","w",stdout);
	PreDo();
	DP();
	return 0;
}