A 代码
35ms / 680.00KB / 292B C++14 (GCC 9) O2
#include<bits/stdc++.h>
using namespace std;
int dp[10001]={1};
int main(){
int n,m;cin >> n >> m;
for(int i = 1,u;i <= n;i ++)
{
cin>>u;
for(int j = m;j >= u;j --)
{
dp[j] = dp[j] + dp[j- u];
}
}
cout << dp[m];
return 0;
}
B 代码
33ms / 604.00KB / 690B C++14 (GCC 9) O2
#include<bits/stdc++.h>
using namespace std;
int dp[10005];int arr[105];
int main(){
int n,m;cin >> n >> m;
for(int i = 1;i <= n;i ++) cin >> arr[i];
dp[0] = 1;
for(int i = 1;i <= n;i ++)
{
for(int j = m;j >= arr[i];j --)
{
dp[j] = dp[j] + dp[j- arr[i]];
}
}
cout << dp[m];
return 0;
}