trang chủ / bài tập / alpharem

Xoá ký tự theo thứ tự bảng chữ cái

Đề bài

Mô tả

Cho một xâu s gồm n chữ cái Latin in thường. Bạn cần xoá đúng k ký tự khỏi s bằng cách lặp lại đúng k lần thủ tục sau:

  • Nếu trong xâu còn chữ a, xoá chữ a ở vị trí trái nhất rồi dừng thủ tục.
  • Nếu không, xét chữ b: nếu còn, xoá chữ b trái nhất rồi dừng thủ tục.
  • ... (cứ thế theo thứ tự bảng chữ cái)
  • Nếu chỉ còn lại chữ z, xoá chữ z trái nhất rồi dừng thủ tục.

Mỗi lần thực hiện thủ tục, đúng một ký tự bị xoá khỏi s. Sau khi áp dụng k lần, hãy in ra xâu còn lại.

Dữ liệu vào

  • Dòng đầu tiên gồm hai số nguyên nk — độ dài xâu và số ký tự cần xoá.
  • Dòng thứ hai gồm xâu s có độ dài n, chỉ gồm các chữ cái Latin in thường.

Dữ liệu ra

In ra xâu còn lại sau khi xoá đúng k ký tự theo thủ tục mô tả ở trên. Nếu xâu rỗng, được phép in một dòng trống (hoặc không in gì).

Ràng buộc

  • 1kn4·105
  • s chỉ gồm các chữ cái Latin in thường.

Ví dụ

Input Output Giải thích
15 3
cccaabababaccbc
cccbbabaccbc Xâu có hai chữ a, ta xoá cả hai (vị trí 4 và 5). Sau đó cần xoá thêm một ký tự nữa: chữ b đầu tiên còn lại (vị trí 6 trong xâu gốc). Xâu thu được là cccbbabaccbc.
15 9
cccaabababaccbc
cccccc Có 2 chữ a, 4 chữ b. Xoá hết a rồi xoá hết b, tổng cộng 6 lần. Còn 3 lần cần xoá; tiếp theo là c — xoá 3 chữ c trái nhất. Còn lại 6 chữ c.
1 1
u
Xâu chỉ có 1 ký tự, sau khi xoá thì rỗng.

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.400 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.2 gforth 0.7.3 gfortran 12.2.0 go 1.27.0 groovyc 5.1.1 javac 25.0.4 node 26.8.1 julia 1.12.7 kotlinc 2.4.10 lean 4.33.1 sbcl 2.2.9 lua 5.4.9 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.10 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.14.7 racket 8.7 ruby 4.0.6 rustc 1.98.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.3.3 tclsh 8.6 bun 1.4.0 deno 2.9.6 v 0.5.2 zig 0.16.0