Khoảng cách xâu

Đề bài

Mô tả

Xét các xâu độ dài n chỉ gồm các chữ cái latin thường (a đến z).

Khoảng cách giữa hai chữ cái được định nghĩa là chênh lệch vị trí của chúng trong bảng chữ cái. Ví dụ, khoảng cách giữa a và a bằng 0, giữa a và c bằng 2, giữa f và a bằng 5.

Khoảng cách giữa hai xâu cùng độ dài n được định nghĩa là tổng khoảng cách giữa các cặp chữ cái ở cùng vị trí.

Cho một xâu s độ dài n và một số nguyên k. Hãy tìm một xâu s′ độ dài n (gồm các chữ cái latin thường) sao cho khoảng cách giữa s và s′ đúng bằng k, hoặc cho biết không tồn tại xâu như vậy.

Dữ liệu vào

  • Dòng đầu chứa hai số nguyên n và k.
  • Dòng thứ hai chứa xâu s độ dài n gồm các chữ cái latin thường.

Dữ liệu ra

  • Nếu không tồn tại xâu thỏa mãn, in ra −1.
  • Ngược lại, in ra một xâu s′ bất kỳ thỏa mãn điều kiện. Nếu có nhiều đáp án, in ra một đáp án bất kỳ.

Ràng buộc

  • 1≤n≤105
  • 0≤k≤106

Ví dụ

Input Output Giải thích
4 26
bear
zgar Khoảng cách giữa bear và zgar là |b−z|+|e−g|+|a−a|+|r−r|=24+2+0+0=26=k. Các đáp án khác như roar cũng hợp lệ.
2 7
af
hf Khoảng cách là |a−h|+|f−f|=7+0=7=k.
3 1000
hey
-1 Khoảng cách lớn nhất có thể đạt được từ hey là 18+21+24=63<1000, nên không tồn tại đáp án.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0