Điều hướng chính

Nhắn tin NQ Coding

Ngôn ngữ

Phím tắt

/
Chuyển đến ô tìm bài
g p
Đi đến bài tập
g c
Đi đến kỳ thi
g u
Đi đến người dùng
?
Mở trợ giúp phím tắt

Bài tập xoaxauhsghaiphong12

Xóa xâu

Dễ Xâu ký tự (string)

  • 100p Điểm
  • 1.0s Thời gian
  • 256M Bộ nhớ
  • 50% Tỉ lệ AC
  • 1 Số AC

Cho xâu ký tự \(S\) gồm \(n\) ký tự in hoa từ A đến Z. Có \(q\) lệnh xóa, mỗi lệnh thuộc một trong hai loại sau:

  • Loại \(0\): Xóa kí tự đầu tiên từ trái sang phải là chữ cái có thứ tự từ điển nhỏ nhất trong xâu hiện tại.
  • Loại \(1\): Xóa kí tự đầu tiên từ trái sang phải là chữ cái có thứ tự từ điển lớn nhất trong xâu hiện tại.

Hãy in ra xâu còn lại sau khi thực hiện lần lượt \(q\) lệnh xóa.

Input

Dòng đầu chứa hai số nguyên dương \(n, q\).

Dòng thứ hai chứa xâu \(S\) (gồm đúng \(n\) ký tự, chỉ gồm các chữ cái in hoa).

Dòng thứ ba chứa \(q\) số, mỗi số là \(0\) hoặc \(1\), theo đúng thứ tự các lệnh xóa.

Output

In ra xâu còn lại sau khi thực hiện tất cả các lệnh.

Giới hạn

  • \(1 \le n \le 2 \cdot 10^5\)
  • \(1 \le q \le 10^5\)

Scoring

  • Subtask 1 (10%): \(q = 1\).
  • Subtask 2 (40%): \(n \le 10^4\), \(q \le 10^3\).
  • Subtask 3 (50%): Không có ràng buộc gì thêm.

Input

10 4
ADBAACDABC
0 1 1 0

Output

BACABC

Notes

Trạng thái của xâu trước và qua các lần xóa

  1. ADBAACDABC
  2. DBAACDABC
  3. BAACDABC
  4. BAACABC
  5. BACABC

Bình luận

Chưa có bình luận nào.