求助
查看原帖
求助
531776
LYM20114楼主2022/10/16 16:57
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
const int MOD = 1e6 + 7;
int n,m,a[105];
int f[105][105];
int sum[105][105];
int main(){
	cin >> n >> m;
	for(int i = 1;i <= n;i++)
		cin >> a[i];
	for(int j = 0;j <= n;j++)
		f[j][0] = 1;
	for(int j = 0;j <= n;j++)
	    for(int i = 0;i <= m;i++) 
	        sum[j][i] = 1;
	for(int i = 1;i <= n;i++){
		for(int j = 1;j <= m;j++){
			f[i][j] = (sum[i - 1][j - 1] + MOD - sum[i - 1][j - min(a[i],j) - 1]) % MOD;
			sum[i][j] = (sum[i][j - 1] + f[i][j]) % MOD;
		}
	}
	cout << f[n][m];
	return 0;
}
2022/10/16 16:57
加载中...