
Given an integer array usage and an integer k, each operation chooses one element and replaces it with floor(value / 2). Return the minimum possible value of the maximum element after at most k operations.
usage = [10, 20, 7], k = 4Output5WhyReduce 20 twice, 10 once, and 7 once.usage = [1, 8, 8], k = 2Output4WhyReduce each 8 once.`1 <= usage.length <= 10^5``0 <= usage[i] <= 10^9``0 <= k <= 10^9`