3219 问题 E: 蓝桥杯2024年第十五届省赛真题-封印宝石

 时间限制: 1s 内存限制: 128MB
题目描述

在一次探险中,勇者小蓝发现了 n 颗闪烁着奇异光芒的宝石,每颗宝石都蕴含着魔法能量,分别记作 a1, a2, . . . , an。小蓝计划用 n 个特制的魔法盒子来封印这些宝石,防止其魔法能量被滥用。

封印宝石会消耗小蓝的体力,具体地,将第 i 颗宝石放入第 j 个盒子会消耗小蓝 i − j 点体力(注:需满足 j ≤ i 才能将第 i 颗宝石放入第 j 个盒子进行有效的封印)。小蓝也可以选择将魔法盒留空,以保存体力供后续使用。

此外,为了避免魔力相冲,每个盒子最多存放一颗宝石(每个宝石也只能放进一个盒子),且任意两个相邻盒子不能存放魔力值相同的宝石,相邻的盒子允许同时为空。小蓝初始的体力值为 k。在不超出体力限制的条件下,小蓝希望找出一种宝石的放置方法,使得宝石的魔力值在这 n 个盒子中的排列顺序具有最大的字典序(注:未放置宝石的盒子在此序列中记为 −1)。

作为勇者小蓝的追随者,请你帮他找出这一放置宝石的方法。

字典序的解释: 在本题中,字典序的大小是按照宝石的魔力值进行比较的。对于两个长度同为 L 的魔力值序列 a 和 b,如果存在一个位置 i,使得aj = bj 对所有 1 ≤ j < i 成立,但是 ai < bi,则序列 a 在字典序上小于序列 b。反之,如果 ai > bi,则序列 a 在字典序上大于序列 b。如果不存在这样的 i,则序列 a 和序列 b 的字典序相等。

输入

输入的第一行包含两个整数 n 和 k ,用一个空格分隔,分别表示宝石的数量和小蓝的初始体力值。

第二行包含 n 个整数 a1, a2, · · · , an ,相邻整数之间使用一个空格分隔,分别表示每颗宝石的魔法能量值。

输出
输出一行包含 n 个整数,相邻整数之间使用一个空格分隔,表示每个魔法盒中宝石的魔法能量值。如果某个魔法盒为空,则对应位置输出 −1 。

样例输入

3 3
1 3 2

样例输出

3 2 -1
提示

【样例说明】

在开始放置宝石之前,体力为 3,宝石在盒子中的排列为 [−1, −1, −1]。1. 将第 2 个宝石放进第 1 个盒子,得到 [3, −1, −1],体力剩余 2。2. 将第 3 个宝石放进第 2 个盒子,得到 [3, 2, −1],体力剩余 1。最后宝石在盒子中的排列为 [3, 2, −1]。显然,没有比这更优的放置方法。

【评测用例规模与约定】

对于 20% 的评测用例,1 ≤ n ≤ 5 × 103 ,0 ≤ k ≤ 3 × 106 ,1 ≤ ai ≤ 105。对于所有评测用例,1 ≤ n ≤ 105 ,0 ≤ k ≤ 109 ,1 ≤ ai ≤ 109

比赛公告

2024年第十五届蓝桥杯软件赛决赛C/C++大学A组真题

试题A: 艺术与篮球(本题总分:5 分)

【问题描述】

    小蓝出生在一个艺术与运动并重的家庭中。

妈妈是位书法家,她希望小蓝能通过练习书法,继承她的艺术天赋,并练就一手好字。爸爸是一名篮球教练,他希望小蓝能通过篮球锻炼身体,培养运

动的激情和团队合作的精神。

    为了既满足妈妈的期望,又不辜负爸爸的心意,小蓝决定根据日期的笔画数来安排自己的练习。首先,他会将当天的日期按照“YYYYMMDD”的格式转换成一个8 位数,然后将这8 位数对应到汉字上,计算这些汉字的总笔画数。如果总笔画数超过50,他就去练习篮球;如果总笔画数不超过50,他就去练习书法。

    例如,在2024 年1 月1 日这天,日期可表示为一个8 位数字20240101,其转换为汉字是“二零二四零一零一”。日期的总笔画数为2+13+2+5+13+1 + 13 + 1 =50,因此在这天,小蓝会去练习书法。

    以下是汉字的笔画数对照表:

现在,请你帮助小蓝统计一下,在2000 年1 月1 日到2024 年4 月13 日这段时间内,小蓝有多少天是在练习篮球?

【答案提交】

这是一道结果填空题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。


试题B: 五子棋对弈(本题总分:5 分)

【试题背景】

“在五子棋的对弈中,友谊的小船说翻就翻?” 不!对小蓝和小桥来说,五子棋不仅是棋盘上的较量,更是心与心之间的沟通。这两位挚友秉承着“友谊第一,比赛第二” 的宗旨,决定在一块5 x 5 的棋盘上,用黑白两色的棋子来决出胜负。但他们又都不忍心让对方失落,于是决定用一场和棋(平局)作为彼

此友谊的见证。

比赛遵循以下规则:

1. 棋盘规模:比赛在一个5  5 的方格棋盘上进行,共有25 个格子供下棋使用。

2. 棋子类型:两种棋子,黑棋与白棋,代表双方。小蓝持白棋,小桥持黑棋。

3. 先手规则:白棋(小蓝)具有先手优势,即在棋盘空白时率先落子(下棋)。

4. 轮流落子:玩家们交替在棋盘上放置各自的棋子,每次仅放置一枚。

5. 胜利条件:率先在横线、竖线或斜线上形成连续的五个同色棋子的一方获胜。

6. 平局条件:当所有25 个棋盘格都被下满棋子,而未决出胜负时,游戏以平局告终。

在这一设定下,小蓝和小桥想知道,有多少种不同的棋局情况(终局不同看成不同情况,终局相同而落子顺序不同看成同一种情况),既确保棋盘下满又保证比赛结果为平局。

【答案提交】

这是一道结果填空题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。