代码应该没啥子问题
int v, w, d;
v = f.r(), w = f.r(), d = f.r();
for (int j = 1; j <= d; j <<= 1) {
V[++cnt] = v * j, W[cnt] = w * j;
d -= j;
}
if (d) V[++cnt] = d * v, W[cnt] = d * w;
-------------
for (int i = 1; i <= cnt; ++i)
for (int j = C; j >= V[i]; --j) dp[j] = max(dp[j], dp[j - V[i]] + W[i]);
for (int i = 1; i <= m; ++i)
for (int k = C; k >= 0; --k) {
for (int j = 0; j <= k; ++j) {
int w = a[i] * j * j + b[i] * j + c[i];
dp[k] = max(dp[k], dp[k - j] + w);
}
}
f.pt(*max_element(goto(dp, C)));