为什么
#include <bits/stdc++.h>
using namespace std;
int n, m, k, a[105], b[105], f[100050];
int main() {
scanf("%d%d", &n, &m);
for (int i = 1; i <= n; i++) scanf("%d%d", &a[i], &b[i]), k += b[i];
memset(f, 127, sizeof(f));
f[0] = 0;
for (int i = 1; i <= n; i++)
for (int j = k; j >= b[i]; j--)
f[j] = min(f[j], f[j - b[i]] + a[i]);
for (int i = k; i >= 0; i--)
if (f[i] <= m) {
printf("%d", i);
return 0;
}
return 0;
}
WA on #6
把 k 换成 1e5 就过了,求解惑谢谢啦