389 摆花

cpp 复制代码
#include <bits/stdc++.h>

using namespace std;
typedef long long ll;
const ll p=1e6+7;
int a[105],dp[105][105];
int m,n;

int main()
{
  cin>>n>>m;
  for(int i=1;i<=n;i++)cin>>a[i];

  dp[0][0]=1;

  for(int i=1;i<=n;i++)
  {
    for(int j=0;j<=m;j++)
    {
      for(int k=0;k<=min(j,a[i]);k++)
      {
        dp[i][j]=(dp[i][j]+dp[i-1][j-k])%p;
      }
    }
  }
  cout<<dp[n][m]<<endl;

  return 0;
}
相关推荐
赵域Phoenix8 分钟前
混沌系统是什么?
人工智能·算法·机器学习
hello world 9999 分钟前
Cursor开发实战应用
c++·ai编程·cursor
kyle~10 分钟前
工程数学---Eigen库(C++唯一标配线性代数库)
开发语言·c++·线性代数
fish_xk10 分钟前
c++中的模板
c++·模板
CoderCodingNo12 分钟前
【GESP】C++五、六级练习题 luogu-P1886 【模板】单调队列 / 滑动窗口
开发语言·c++·算法
paeamecium14 分钟前
【PAT甲级真题】- All Roads Lead to Rome (30)
数据结构·c++·算法·pat考试·pat
PD我是你的真爱粉18 分钟前
Redis 数据类型与底层实现:从 SDS、Quicklist 到 ZSet 跳表彻底讲透
数据结构·redis
Cando学算法20 分钟前
双指针之快慢指针
算法
汀、人工智能29 分钟前
[特殊字符] 第100课:任务调度器
数据结构·算法·数据库架构·贪心··任务调度器
每日任务(希望进OD版)30 分钟前
二分法刷题
算法·二分