CF628C.Bear and String Distance
普及-
通过率:0%
时间限制:1.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Limak is a little polar bear. He likes nice strings — strings of length n, consisting of lowercase English letters only.
The distance between two letters is defined as the difference between their positions in the alphabet. For example,
, and
.
Also, the distance between two nice strings is defined as the sum of distances of corresponding letters. For example,
, and
.
Limak gives you a nice string s and an integer k. He challenges you to find any nice string s' that
. Find any s' satisfying the given conditions, or print "-1" if it's impossible to do so.
As input/output can reach huge size it is recommended to use fast input/output methods: for example, prefer to use gets/scanf/printf instead of getline/cin/cout in C++, prefer to use BufferedReader/PrintWriter instead of Scanner/System.out in Java.
Limak 是一只小北极熊。他喜欢“优美的字符串”——即长度为 n、仅由小写英文字母组成的字符串。
两个字母之间的距离定义为它们在英文字母表中位置的差的绝对值。例如,
,以及
。
此外,两个优美字符串之间的距离定义为它们对应位置字母之间距离的总和。例如,
,以及
。
Limak 给你一个优美字符串 s 和一个整数 k。他向你发起挑战:找出任意一个优美字符串 s′,使得
。请输出任意一个满足条件的 s′;若不存在这样的字符串,则输出 -1。
由于输入/输出规模可能非常大,建议使用快速输入/输出方法:例如,在 C++ 中优先使用 gets/scanf/printf 而非 getline/cin/cout;在 Java 中优先使用 BufferedReader/PrintWriter 而非 Scanner/System.out。
输入格式
The first line contains two integers n and k (1 ≤ n ≤ 105, 0 ≤ k ≤ 106).
The second line contains a string s of length n, consisting of lowercase English letters.
第一行包含两个整数 n 和 k(1≤n≤105,0≤k≤106)。
第二行包含一个长度为 n 的字符串 s,由小写英文字母组成。
输出格式
If there is no string satisfying the given conditions then print "-1" (without the quotes).
Otherwise, print any nice string s' that
.
如果不存在满足给定条件的字符串,则输出 -1(不带引号)。
否则,输出任意一个满足
的优美字符串 s′。
输入输出样例
输入#1
4 26 bear
输出#1
roar
输入#2
2 7 af
输出#2
db
输入#3
3 1000 hey
输出#3
-1
输入解题思路,AI测评打分。不知道怎么写?