闫式dp分析法
#include <iostream>
#include <algorithm>
using namespace std;
const int N = 10010;
int f[N];
int n , m;
int main () {
cin >> n >> m;
f[0] = 1; // 什么都不选也是一种方案
for (int i = 1 ; i <= n ; i ++ ) {
int w;
cin >> w;
for (int j = m ; j >= w ; j -- )
f[j] += f[j - w];
}
cout << f[m] << endl;
}