Bài 4. Xóa xâu (HSG 9 Hải Phòng 2025-2026)
Xem PDF
Điểm:
1300 (p)
Thời gian:
1.0s
Bộ nhớ:
256M
Input:
bàn phím
Output:
màn hình
Cho xâu kí tự \(S\) có \(n\) kí tự chữ cái Latin viết in hoa A...Z. Có \(q\) lệnh xóa kí tự, mỗi lệnh xóa thuộc một trong \(2\) loại sau đây:
- Loại \(0\): Xóa \(1\) kí tự đầu tiên (tính từ trái qua phải) có thứ tự từ điển nhỏ nhất của xâu còn lại.
- Loại \(1\): Xóa \(1\) kí tự đầu tiên (tính từ trái qua phải) có thứ tự từ điển lớn nhất của xâu còn lại.
Yêu cầu: Tìm xâu kí tự còn lại sau khi thực hiện tuần tự \(q\) lệnh xóa.
Input
- Dòng đầu tiên có \(2\) số nguyên dương \(n, q\) (\(n \le 2 \cdot 10^5\); \(q \le 10^5\)).
- Dòng thứ hai là xâu kí tự \(S\) chỉ có kí tự chữ cái Latin viết in hoa
A...Z. - Dòng thứ ba có \(q\) số, mỗi số là số \(0\) hoặc số \(1\) tương ứng thể hiện loại lệnh xóa.
- Các số trên cùng một dòng trong file dữ liệu được viết cách nhau bởi dấu cách trống.
Output
- Ghi ra xâu kí tự còn lại sau khi thực hiện tuần tự \(q\) lệnh xóa.
Example
Test 1
Input
10 4
ADBAACDABC
0 1 1 0
Output
BACABC
Note
Giải thích:
- Lần \(1\):
ADBAACDABC\(\to\)DBAACDABC - Lần \(2\):
DBAACDABC\(\to\)BAACDABC - Lần \(3\):
BAACDABC\(\to\)BAACABC - Lần \(4\):
BAACABC\(\to\)BACABC
Scoring
- Subtask \(1\) (\(10\%\) số điểm): Dữ liệu vào có \(q = 1\).
- Subtask \(2\) (\(40\%\) số điểm): Dữ liệu vào có \(n \le 10^4\); \(q \le 10^3\).
- Subtask \(3\) (\(50\%\) số điểm): Không có ràng buộc nào thêm.
Bình luận