名字不要取太长像我这样应该刚刚好 • 20天前
评论:
using namespace std; int a[10005], s[105], d[20010]; const int M = 1e9;
int main() {
int n, m;
cin >> n >> m;
memset(d, 0, sizeof(d));
for (int i = 0; i < m; i++)
cin >> s[i];
for (int i = 0; i < n; i++)
cin >> a[i];
for (int i = 0; i < n << 1; i++)
d[i] = -M;
for (int i = 0; i < n + n; i++)
for (int j = 1; j <= m; j++)
if (i >= a[j])
d[i] = max(d[i], d[i - a[j]] + s[i - a[j]]);
int maxn = -M;
for (int i = n; i < n * 2; i++) {
maxn = max(maxn, d[i]);
}
cout << maxn;
return 0;
}
请先登录,才能进行评论