c/c++[002]:01背包

(背包问题?)[https://acm.sdut.edu.cn/onlinejudge2/index.php/Home/Index/problemdetail/pid/3092.html]

#include <iostream>
#include <cstring>
using namespace std;
int main()
{
    //std::ios::sync_with_stdio(false);
    int n;
    int sum ;
    int w[2][20000];
    int sV[20000];
    int i = 0;
    while (cin >> n >> sum)
    {
        i = 1;
        while(i <= n)
        {
            cin>>w[0][i] >> w[1][i];
            i++;
        }
        memset(sV,0,sizeof(sV));
        for(int j = 0; j<= n ; j++)
        {
            for( int jj = sum ; jj >= w[0][j]; jj -- )
            {
                sV[jj] = max(
                         sV[jj],
                         sV[jj-w[0][j]]+w[1][j]
                         );
            }
//            for(int z = 0; z<=sum ;z++){
  //              cout<<sV[z]<<"\t";
    //        }
      //      cout<<endl;
        }
        cout<< sV[sum]<<endl;

    }

    return 0 ;
}

评论列表