QOJ.ac

QOJ

実行時間制限: 1.0 s メモリ制限: 256 MB 満点: 100 ハック可能 ✓

#12351. 字符串变换

統計

Cody 写下了一个由英文字母组成的字符串和一个整数 $k$。现在他想要变换这个字符串,使得它恰好有 $k$ 个“孔”。孔是指字母中封闭的环。例如,字母 “B” 有两个孔,而字母 “a” 有一个孔。

Cody 可以通过选择一个字母并将其“递增”来变换字符串,即将其变为字母表中的下一个字母(对于字母表中的最后一个字母,下一个字母是字母表中的第一个字母)。Cody 可以对字符串中的任意字母重复此操作任意次数。

在 Cody 的理解中,字母表是以下英文字母序列:

AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz

所有 Cody 写下的字母看起来与上面描绘的字母表中的字母完全一样。

自然地,Cody 希望通过尽可能少的递增次数来实现他的目标。如果字符串无法被变换为包含所需数量的“孔”,Cody 看到了这一点,就不会进行任何变换。你能像 Cody 一样聪明吗?

输入格式

第一行包含两个空格分隔的整数 $n$ 和 $k$:字符串的长度和所需的“孔”数量($1 \le n \le 10^5$,$ -10^{18} \le k \le 10^{18}$)。

第二行是 Cody 写下的字符串 $s$。字符串 $s$ 仅包含大小写英文字母。

输出格式

输出实现目标所需的递增次数,如果不可能实现,则输出 $-1$。

如果字符串可以被变换,第二行输出应该是变换后的字符串。如果有多种可能的答案,输出其中任意一个即可。

样例

输入格式 1

5 3
zlEna

输出格式 1

2
zlenB

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.