Lang:G++
Edit123456789101112131415#include <bits/stdc++.h>int main(){int m, n, nneed, nval;scanf("%d%d", &n, &m);int *arrres = (int*)malloc(sizeof(int) * (m + 1));for (int i = 0; i < n; i++) {scanf("%d%d", &nneed, &nval);for (int j = nneed; j <= m; j++)if (arrres[j - nneed] + nval > arrres[j])arrres[j] = arrres[j - nneed] + nval;}printf("%d\n", arrres[m]);return 0;}