#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
int n;
cin >> n;
vector<int> V(n);
for (int i = 0; i < n; ++i) {
cin >> V[i];
}
int max_sum = 0;
for (int num : V) {
max_sum += num;
}
vector<bool> dp(max_sum + 1, false);
dp[0] = true;
for (int i = 0; i < n; ++i) {
for (int j = max_sum; j >= V[i]; --j) {
if (dp[j - V[i]]) {
dp[j] = true;
}
}
}
int count = 0;
for (int i = 1; i <= max_sum; ++i) {
if (dp[i]) {
count++;
}
}
cout << count << endl;
return 0;
}
全部回复 共 0 条
还没有人回复。往下写第一条。
发表回复
登录后即可回复本帖,与出题人和同学一起讨论。
登录