AC 代码:
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int mod=1e6+7;
inline int read() {
int x = 0, f = 1; char ch = getchar();
while(ch < '0' || ch > '9') { if(ch == '-') f = -1; ch = getchar(); }
while(ch >= '0' && ch <= '9') { x = (x << 1) + (x << 3) + (ch ^ 48); ch = getchar(); }
return x * f;
}
int n,m;
int a[107];
int dp[107][207];
int main(){
n=read(),m=read();
for(int i=1;i<=n;i++) a[i]=read();
// for(int i=1;i<=n;i++) dp[i][0]=1;
for(int i=0;i<=a[1];i++) dp[1][i]=1;
for(int i=1;i<=n;i++)
for(int j=0;j<=m;j++)
for(int k=0;k<=a[i];k++)
dp[i][j+k]=(dp[i][j+k]+dp[i-1][j])%mod;
cout<<dp[n][m];
return 0;
}
为什么注释的那一行,把注释删掉就 10 分。