have a knapsack with the limit of W. There are likewise n things, the I-th one has weight wi.    You need to place a portion of these things into the knapsack so that their all out weight C is half of its size, however (clearly) doesn't surpass it. Officially, C ought to fulfill: ⌈W2⌉≤C≤W.    Output the rundown of things you will place into the knapsack or

C++ for Engineers and Scientists
4th Edition
ISBN:9781133187844
Author:Bronson, Gary J.
Publisher:Bronson, Gary J.
Chapter4: Selection Structures
Section: Chapter Questions
Problem 14PP
icon
Related questions
Question

Correct answer will be upvoted else Multiple Downvoted. Don't submit random answer. Computer science.

You have a knapsack with the limit of W. There are likewise n things, the I-th one has weight wi. 

 

You need to place a portion of these things into the knapsack so that their all out weight C is half of its size, however (clearly) doesn't surpass it. Officially, C ought to fulfill: ⌈W2⌉≤C≤W. 

 

Output the rundown of things you will place into the knapsack or establish that satisfying the conditions is unimaginable. 

 

In case there are a few potential arrangements of things fulfilling the conditions, you can output any. Note that you don't need to expand the amount of loads of things in the knapsack. 

 

Input 

 

Each test contains various experiments. The principal line contains the number of experiments t (1≤t≤104). Depiction of the experiments follows. 

 

The main line of each experiment contains integers n and W (1≤n≤200000, 1≤W≤1018). 

 

The second line of each experiment contains n integers w1,w2,… ,wn (1≤wi≤109) — loads of the things. 

 

The amount of n over all experiments doesn't surpass 200000. 

 

Output 

 

For each experiment, in case there is no arrangement, print a solitary integer −1. 

 

If there exists an answer comprising of m things, print m in the primary line of the output and m integers j1, j2, ..., jm (1≤ji≤n, all ji are particular) in the second line of the output — lists of the things you might want to pack into the knapsack. 

 

In case there are a few potential arrangements of things fulfilling the conditions, you can output any. Note that you don't need to augment the amount of loads things in the knapsack.

 

 

Expert Solution
steps

Step by step

Solved in 4 steps with 1 images

Blurred answer
Knowledge Booster
Polynomial time
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
C++ for Engineers and Scientists
C++ for Engineers and Scientists
Computer Science
ISBN:
9781133187844
Author:
Bronson, Gary J.
Publisher:
Course Technology Ptr