Reference no: EM132637433
Here, you are required to implement the fractional knapsack problem.
In a fractional knapsack problem, there exists a knapsack of capacity W, set of n items and each item i has a positive benefit bi and a positive weight wi . Your goal is to generate a sample program in a language of your own choice that chooses items with the maximum total benefit but with weight at most W. You are allowed to take fractional amount of an item if you need to do so. You must use a heap-based priority queue in your implementation.
Input: The first line of the input takes n, the number of items. In the next n lines, for each item (from 1 to n), you take the weight and the corresponding benefit. In the last line you take the knapsack capacity W from the user.
Output: In the output, you print out the items (in the increasing order) that has been selected, and for each item how much amount has been taken into consideration and what is the profit made from each item. The last line output the maximum profit that can be made.
Sample Input 5 4 12 8 32 2 40 6 30 1 50 10
Sample Output: Item 2 Amount 1 Profit 4 Item 3 Amount 2 Profit 40 Item 4 Amount 6 Profit 30 Item 5 Amount 1 Profit 50
Total Profit: 124