Q. Tìm số tối thiểu
Cho số nguyên dương S gồm n chữ số (không có chữ số 0 thừa ở tận cùng bên trái) và số nguyên k. Hãy tìm cách thay thế tối đa k chữ số bất kỳ trong S để thu được số nhỏ nhất có n chữ số và số thu được cũng không có chữ số 0 ở tận cùng bên trái.
Chú ý
Một số có chữ số 0 thừa ở tận cùng bên trái nếu nó có ít nhất hai chữ số và chữ số đầu tiên của nó là 0.
Ví dụ: các số 00, 00069, 0101 là không hợp lệ; còn các số 0, 3000, 1010 là hợp lệ.
Đầu vào
- Dòng đầu chứa số nguyên T là số bộ dữ liệu vào (1 ≤ T ≤ 100).
- Tiếp theo là T bộ dữ liệu, mỗi bộ gồm hai dòng:
- Dòng thứ nhất chứa hai số nguyên
nvàkcách nhau bởi dấu cách (1 ≤ n ≤ 2×10⁵, 0 ≤ k ≤ n). - Dòng thứ hai chứa chuỗi S gồm
nchữ số (không có số 0 ở đầu).
Đầu ra
In ra số S mới gồm n chữ số sau khi đã thay không quá k chữ số sao cho số đó là nhỏ nhất và không có số 0 ở đầu (trừ trường hợp n = 1).
Ví dụ
Input: 3 5 3 51528 3 2 102 1 1 1 Output: 10028 100 0
Giải thích ví dụ
- Test 1: S = 51528, n = 5, k = 3. Ta có thể thay 3 chữ số để được số nhỏ nhất là 10028. (Thay '5'→'1', '1'→'0', '5'→'0')
- Test 2: S = 102, n = 3, k = 2. Có thể thay '1'→'1' (giữ nguyên), '0'→'0' (giữ nguyên), '2'→'0' ⇒ kết quả: 100
- Test 3: S = 1, n = 1, k = 1. Duy nhất 1 chữ số, ta có thể thay thành 0 ⇒ kết quả là 0.
Comments