#include<iostream>
using namespace std;
int N, M, a[1000], b[1000][10000];
int main()
{
cin >> N >> M;
for (int i = 1; i <= N; i++)
cin >> a[i];
b[0][0] = 1;
for (int i = 1; i <= N; i++)
for (int j = 0; j <= M; j++)
if (j >= a[i])
b[i][j] = b[i - 1][j - a[i]] + b[i - 1][j];
else
b[i][j] = b[i - 1][j];
cout << b[N][M];
return 0;
}
洛谷P1164 小A点菜进阶解法
最新推荐文章于 2024-04-03 14:07:12 发布
750

被折叠的 条评论
为什么被折叠?



