11452: dm

内存限制:128 MB 时间限制:1.000 S 提交:45 解决:5
评测方式:文本比较 命题人:

题目描述

#include<bits/stdc++.h> #define ll long long using namespace std;
ll n,m,a[101],dp[101][101]; int main(){ cin>>n>>m; for(int i=1;i<=n;i++){ cin>>a[i];
	} for(int i=0;i<=n;i++){
		dp[i][0]=1;
	} for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ for(int k=j-a[i];k<=j;k++){ if(k<0) continue;
				dp[i][j]+=dp[i-1][k];
				dp[i][j]%=1000007;
			}
			
		}
	} cout<<dp[n][m]; return 0;
} //dp[i][j]=max(dp[i-1][j]+a[i],