#include<bits/stdc++.h>
using namespace std;
const int N=1000007;
int n,m,a[105];
int dp[10005]={1},rmax=0;
int main(){
cin>>n>>m;
for(int i=1;i<=n;i++)cin>>a[i];
for(int i=1;i<=n;i++){
int res=rmax;
for(int j=res;j>=0;j--){
if(dp[j]){
rmax=max(rmax,j+a[i]);
for(int k=1;k<=a[i];k++)dp[j+k]=(dp[j+k]+1)%N;
}
}
}
cout<<dp[m];
}
至少样例对了……