This site requires JavaScript.
It looks like you have disabled JavaScript in your browser or are using a browser that does not support JavaScript.
Please enable it or try another browser.

Ad Blocker Detected

You must disable your ad-blocking software for our web site in your browser to use this site.
You don't have to turn off the ad blocker entirely; just disable ad blocking for codestepbystep.com, then refresh this page to continue.

It is easy to disable a tool like AdBlock for just one site while leaving it enabled for other sites.
Just click the "stop sign" icon in the top-right of your browser, then un-check the "Enabled for this site" checkbox.
If your UI doesn't match the screenshot below, you may want to Google for how to add a "whitelisted domain" to your ad blocker to allow ads from codestepbystep.com to be shown.

Thank you for your understanding and helping us to keep this service free of cost for all students to use.

Note: If you are seeing this message but aren't running an ad blocker or have disabled your ad blocker:

Try clearing your browser history and refreshing the page.

Make sure you don't have any other ad-blocking software running outside of your browser, such as a HOSTS file or proxy.

If you are using a school computer network:
Many high schools have "proxy" software that blocks ads at the entire school level.
Your school's system administrator may need to add an exception for codestepbystep.com to allow these ads to get through.
You may need to copy/paste this information to your school's network administrator so that he/she can make appropriate changes to your network settings.

If you have questions or need any other assistance,
please Contact Us.

knapsack01

Write a function named knapsack01 that solves the classic "0-1 knapsack problem" using dynamic programming.
The idea is that given a collection of items of given weights and values, and a knapsack of a given capacity, you must find the optimal way to place items into the knapsack without exceeding its weight capacity that produces the maximal total value.
Your function accepts three parameters:
a reference to a Vector of integers representing the items' weights,
a reference to a Vector of integers representing the items' values,
and an integer value W representing the total weight that can fit in the knapsack.
Your function should return the largest value we can make using elements in the vector without exceeding the total weight of W.
For example, if the vector contains weights of {10, 20, 30, 40} and values of {60, 100, 120, 150}, and the knapsack's max weight W is 50, the optimal subset is {20, 30} having a total value of 100 + 120 = 220, so your function should return 220.
You may assume that no item in the vector has a negative weight or value.

You must solve this problem using a bottom-up dynamic programming approach.
Do not use recursion.
You are allowed to construct any data structures (array, vector, set, map, etc.) necessary to store the data for your dynamic programming algorithm.

Type your C++ solution code here:

Spaces
Indent
Tabs

Sound F/X
Highlighting

This is a function exercise.
Write a C++ function as described.
Do not write a complete program; just the function(s) above.

If you do not understand how to solve an exercise or why your solution doesn't work, please contact your TA or instructor.
If something seems wrong with the site (errors, slow performance, incorrect tests, etc.), please