InterviewBit Academy is now Scaler!
Learn Tech Skills from Scratch @ Scaler EDGE

Magician and Chocolates

Problem Description

Given N bags, each bag contains Bi chocolates. There is a kid and a magician. In one unit of time, kid chooses a random bag i, eats Bi chocolates, then the magician fills the ith bag with floor(Bi/2) chocolates.

Find the maximum number of chocolates that kid can eat in A units of time.

NOTE:

  1. floor() function returns the largest integer less than or equal to a given number.
  2. Return your answer modulo 109+7


Input Format

First argument is an integer A.
Second argument is an integer array B of size N.



Output Format

Return an integer denoting the maximum number of chocolates that kid can eat in A units of time.



Example Input

Input 1:

 A = 3
 B = [6, 5]

Input 2:

 A = 5
 b = [2, 4, 6, 8, 10]


Example Output

Output 1:

 14

Output 2:

 33


Example Explanation

Explanation 1:

 At t = 1 kid eats 6 chocolates from bag 0, and the bag gets filled by 3 chocolates. 
 At t = 2 kid eats 5 chocolates from bag 1, and the bag gets filled by 2 chocolates. 
 At t = 3 kid eats 3 chocolates from bag 0, and the bag gets filled by 1 chocolate. 
 so, total number of chocolates eaten are 6 + 5 + 3 = 14



NOTE: You only need to implement the given function. Do not read input, instead use the arguments to the function. Do not print the output, instead return values as specified. Still have a doubt? Checkout Sample Codes for more details.
Start solving Magician and Chocolates on Interview Code Editor
Sign Up
to access hints and editorial solutions for Magician and Chocolates

Discussion


Loading...
Click here to start solving coding interview questions