离散化做法,虽然这题用不上(
#include <iostream>
#include <cstring>
#include <algorithm>
#include <unordered_map>
using namespace std;
unordered_map<int, int> mp;
int main()
{
int n ,m;
cin >> n >> m;
mp[0] = 1;
for(int i = 0;i < n;i ++){
int a;
cin >> a;
for(int j = m;j >= a;j --){
if(mp.count(j - a))
mp[j] += mp[j - a];
}
}
cout << mp[m];
}