题目信息

题目类型
国赛
题目年份
2025
题目题型
编程题
关 键 词
减半之谜

题目题干

题目描述

小明现在有n个箱子,编号为1~n,第i个箱子中有ai个金币。小明需要按照箱子编号从小到大依次打开所有箱子,一个箱子都需要一把钥匙,现在有两种钥匙可以打开箱子:0la100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

  1. A钥匙,需要花费k个金币;
  2. B钥匙,不需要花费任何金币,但是会将每个未打开的箱子中的金币减半,包括即将打开的箱子。例如:使用一把B钥匙即将打开第i个箱子,那么第i~n个箱子的金币都会减半(例如:第i~n范围内的某个箱子原先金币数量为5,减半之后变为2)。

一把钥匙只能用于一个箱子,不能重复使用。0la100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

小明一共需要使用n把钥匙,每个钥匙打开一个箱子。初始时,小明没有金币,也没有钥匙,如果想要使用一把A钥匙打开箱子,就需要购买它。允许小明当前所拥有的金币数量为负数,例如:小明有1个金币,可以买一把价值为3个金币的A钥匙,那么小明当前拥有的金币数量是-2。0la100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

请你帮助小明计算,按照箱子编号从小到大依次打开所有箱子能获取的最大金币数量。0la100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

输入

第一行,包含两个整数n、k; 第二行,包含n个整数a1、a2、...、an。

输出

一行,包含一个整数,表示结果。

数据范围

1≤n≤2*10^5,0≤k≤10^9,0≤ai≤10^9

输入样例1

4 5 10 10 3 1

输出样例1

11

输入样例2

12 51 5 74 89 45 18 69 67 67 11 96 23 59

输出样例2

60

答案解析

相关题目

满足条件的G(a,b)题目描述 定义G(a,b)为两个正整数 a 和 b 先后连接起来组成新的正整数。 例如:当a为202、b为4时,G(a,b)=G (202,4)=2024。现在给定两个整数 n
减半之谜题目描述 小明现在有n个箱子,编号为1~n,第i个箱子中有ai个金币。小明需要按照箱子编号从小到大依次打开所有箱子,一个箱子都需要一把钥匙,现在有两种钥匙可以打开箱子: A钥匙,需要花费k个
第六题:带分数 编程实现:带分数 提示信息: 带分数是分数的一种形式,带分数包含两个部分:整数部分和真分数部分。 例如: 3(3/4) 前边的为整数部分,后边4分之3为真分数部分。 读作:三又四分之三
第五题:回形取数 编程实现:回形取数 回形取数是沿着一个数字矩阵的左上角向下开始移动取数当前方没有数字或者数字已经被取过就会左转继续移动取数当没有数可取时回形取数结束,如下图所示 回形取数结束后会产
第四题:最少问题 编程实现:最少问题 题目描述:输入两个整数n(0<n<100001)和k(0<k<100001),通过对n连续进行加1或减1或乘以2这3种操作,使得n最后结果
第二题:判断偶数 编程实现:判断偶数 题目描述:输入两个不相等的四位正整数N(1000<=N<=9999)和M(1000<=M<=9999),其中 N<M,中间以一个空格
第三题:计数 编程实现:计数 题目描述:输入一个正整数n(1<=n<=1000),统计从1到n之间(包含1和n)所有正整数中, 0,1,2,3,4,5,6,7,8,9的数字分别出现的次数,
第一题:求阶乘 编程实现:求阶乘 阶乘定义:一个正整数的阶乘是所有小于及等于该数的正整数的乘积。 例如:3的阶乘6(也就是1*2*3的结果) 例如:5的阶乘120(也就是1*2*3*4*5的结果) 题
五、针对以下代码,判断下列说法哪个是正确的() const char str1[]="abc"; const char str2[]="abc"; con
三、下列排序方法中,最坏情况下比较次数最少的是() A.冒泡排序 B.简单的选择排序 C.直接插入排序 D.堆排序

提示声明

  • 免责声明:本站资源均来自网络或者用户投稿,仅供用于学习和交流:如有侵权联系删除!
  • 温馨提示:本文属于积分文章,需要充值获得积分或升级VIP会员,也可在会员中心投稿获取。

猜你喜欢