|
- #include<cstdio>
- #include<algorithm>
- using namespace std;
- const int MOD=1000007;
- int n,m;
- int f[1001][1001];
- int a[1001];
- int main()
- {
- scanf("%d%d",&n,&m);
- f[0][0]=1;
- for(int i=1;i<=n;i++)
- {
- scanf("%d",&a[i]);
- }
- for(int i=1;i<=n;i++)
- {
- for(int j=0;j<=m;j++)
- {
- for(int k=0;k<=a[i];k++)
- {
- if(j<k)
- {
- continue;
- }
- f[i][j]+=f[i-1][j-k];
- f[i][j]%=MOD;
- }
- }
- }
- int maxn=0;
- for(int i=0;i<=n;i++)
- {
- for(int j=0;j<=m;j++)
- {
- maxn=max(maxn,f[i][j]);
- }
- }
- printf("%d",f[n][m]);
- return 0;
- }
复制代码 |
|