1613: 移除沙土

Memory Limit:128 MB Time Limit:1.000 S
Judge Style:Text Compare Creator:
Submit:53 Solved:18

Description

       沙石场堆积了n 堆沙土,风沙季节,为减少沙尘飞扬,现在要移除一部分沙土。给你一个整数数组 piles ,数组下标从 0 开始 ,其中 piles[i] 表示第 i 堆沙土中的沙土数量。另给你一个整数 k ,请你执行下述操作恰好 k 次,使得沙石场中剩下的沙土为最少 。操作要求为:
       (1) 每一次选出任一沙土堆 piles[i] ,并从中 将 piles[i] / 2 沙土运走 (除2时向下取整)。
       (2) 注意:你可以对 同一堆 沙土多次执行此操作。

示例:
输入:n=3;  piles = [5 4 9] ; k = 2
输出:12
解释:可能的执行情景如下:
     - 对第 2 堆沙土执行移除操作,沙土分布情况变成 [5 4 5] 。
     - 对第 0 堆沙土执行移除操作,沙土分布情况变成 [3 4 5] 。
    剩下沙土的总数为 12 。

Input

      输入共有两行。第一行为 n与 k 。第二行为 n 个正整数,表示每一堆沙土数量,数字间空格分隔。

Output

  输出一个正整数为沙石场中剩下沙土的总数。

Sample Input Copy

4 3
4 3 6 7

Sample Output Copy

12

HINT

1 =< n,k <=10^5

piles数组中的数 <=10^4