Xóa K chữ số
Xem dạng PDF
Gửi bài giải
Điểm:
600,00 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
Input:
stdin
Output:
stdout
Nguồn bài:
Dạng bài
Ngôn ngữ cho phép
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch
Cho một số nguyên dương vô cùng lớn được biểu diễn dưới dạng chuỗi ~S~. Hãy xóa đúng ~K~ chữ số khỏi chuỗi ~S~ sao cho số tạo thành từ các chữ số còn lại (vẫn giữ nguyên thứ tự) là nhỏ nhất có thể.
Lưu ý:
- Kết quả không được chứa các chữ số
0vô nghĩa ở đầu (leading zeros). - Nếu sau khi xóa, chuỗi kết quả trở thành rỗng, hãy in ra
0.
Dữ liệu
Gồm một dòng duy nhất chứa chuỗi ~S~ (~1 \le |S| \le 10^5~) và số nguyên dương ~K~ (~1 \le K < |S|~), cách nhau bởi một khoảng trắng.
Kết quả
In ra một chuỗi là số nhỏ nhất sau khi xóa đúng ~K~ chữ số.
Ví dụ
Input 1
1432219 3
Output 1
1219
Giải thích 1
Xóa các chữ số 4, 3, và 2 (số 2 đầu tiên) để tạo thành số 1219 là số nhỏ nhất.
Input 2
10200 1
Output 2
200
Giải thích 2
Xóa chữ số 1 ở đầu, chuỗi trở thành 0200. Bỏ đi số 0 vô nghĩa ở đầu ta được kết quả là 200.
Bình luận