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 。
(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