CODE FESTIVAL 2016 qual A: C - 次のアルファベット / Next Letter

,

http://code-festival-2016-quala.contest.atcoder.jp/tasks/codefestival_2016_qualA_c

辞書順最小を作るので、先頭の文字からaにできるか見ていく。触ると悪化するなら無視。全部舐めて$k$が余ったら末尾の文字に使う。

#!/usr/bin/env python3
s = input()
k = int(input())
t = list(map(lambda c: ord(c)-ord('a'), s))
for i in range(len(t)):
    if t[i] != 0 and 26-t[i] <= k:
        k -= 26-t[i]
        t[i] = 0
if k:
    t[i] = (t[i]+k) % 26
    k = 0
ans = ''.join(map(lambda c: chr(c+ord('a')), t))
print(ans)