Skip to main content

Unbounded Knapsack

1. You are given a number n, representing the count of items.

2. You are given n numbers, representing the values of n items.

3. You are given n numbers, representing the weights of n items.

3. You are given a number "cap", which is the capacity of a bag you've.

4. You are required to calculate and print the maximum value that can be created in the bag without 

    overflowing it's capacity.

Note: Each item can be taken any number of times. You are allowed to put the same item again 

                  and again.

Input Format

A number n

v1 v2 .. n number of elements

w1 w2 .. n number of elements

A number cap

Output Format

A number representing the maximum value that can be created in the bag without overflowing it's capacity


Constraints

1 <= n <= 20

0 <= v1, v2, .. n elements <= 50

0 < w1, w2, .. n elements <= 10

0 < cap <= 10

Sample Input

5

15 14 10 45 30

2 5 1 3 4

7

Sample Output

100


Solution:

import java.io.*;
import java.util.*;

public class Main {

    public static void main(String[] args) throws Exception {
            Scanner sc = new Scanner(System.in);
            int n = sc.nextInt();
            int val[] = new int[n],wt[] = new int[n];
            for(int i=0;i<n;i++)
                val[i] = sc.nextInt();
            for(int i=0;i<n;i++)
                wt[i] = sc.nextInt();
            int cap = sc.nextInt();
            
            int[] dp = new int[cap+1];
            dp[0] = 0;
            
            for(int i=1;i<=cap;i++){
                int cost = 0;
                for(int j=0;j<n;j++){
                    if(wt[j]<=i){
                        cost = Math.max(cost, val[j]+dp[i-wt[j]]);
                    }
                }
                dp[i] = cost;
            }
            
            System.out.println(dp[cap]);
    }
}

Comments

Must Read:

RDBMS Data Definition Language | Create Sales_info table

  Write a query to create Sales_info with constraints mentioned. Refer the below schema  Result Description Summary of tests +------------------------------+ | 3 tests run / 3 test passed | +------------------------------+

Algorithm Analysis and Design Concepts Data Structure and Algorithms Pre-Quiz

Algorithm Analysis and Design Concepts       Data Structure and Algorithms            Pre-Quiz  

UNIX Introduction to Unix | Post-Quiz

 UNIX  Introduction to Unix  Post-Quiz  Feedback Congratulations! You have passed by securing more that 80%. Question  1 Correct Mark 1.00 out of 1.00 Flag question Question text  What is the default maximum number of processes that can exist in Unix? Select one: a.  unlimited b.   32768           c.   4096        d.  1024          Feedback Your answer is correct. The correct answer is:  32768         Question  2 Correct Mark 1.00 out of 1.00 Flag question Question text Single user mode shell has _____ prompt.  Select one: a.   $ Normal user  b.  % Admin user c.  ~ Home user d.  # Root user    Feedback Your answer is correct. The correct answer is: # Root user  Question  3 Correct Mark 1.00 out of 1.00 Flag question Question text Predict the output for the following...

Coin Change Combination

1. You are given a number n, representing the count of coins. 2. You are given n numbers, representing the denominations of n coins. 3. You are given a number "amt". 4. You are required to calculate and print the number of combinations of the n coins using which the       amount "amt" can be paid. Note 1: You have an infinite supply of each coin denomination i.e. same coin denomination can be                    used for many installments in payment of "amt" Note 2: You are required to find the count of combinations and not permutations i.e.                   2 + 2 + 3 = 7 and 2 + 3 + 2 = 7 and 3 + 2 + 2 = 7 are different permutations of same                    combination. You should treat them as 1 and not 3. Input Format A number n n1 n2 .. n number of elements A number amt Output Format A number representing the count of ...

Number Pattern

  /* @ToDo     Number Pattern                 1                    1       2                1       2       3            1       2       3       4        1       2       3       4       5            */ #include   <iost...

Software Engineering Concepts Configuration Management And Version Control Configuration Management And Version Control Quiz 1

 

Software Engineering Concepts Software Maintenance Software Maintenance Quiz 1

  Software Engineering Concepts  Software Maintenance  Software Maintenance Quiz 1

Subscribe to Get's Answer by Email