#5381. Chuỗi con tốt (Mã bài: GOODSUB)

Bộ nhớ: 256 MiB Thời gian: 1000 ms Nhập/xuất từ luồng chuẩn
Kiểu bài: Thông thường Kiểu chấm: So sánh văn bản
Đưa lên bởi: Trùm CUỐI

Đề bài

Cho chuỗi S , một chuỗi các ký tự "tốt" và một số nguyên k . Một chuỗi con của S được gọi là "tốt" nếu nó chứa không quá k ký tự "xấu". Hãy đếm số lượng chuỗi con "tốt" khác nhau của S .

Dữ liệu:

  • Dòng đầu tiên chứa chuỗi S .
  • Dòng thứ hai chứa một chuỗi 01 độ dài 26, ký tự thứ i là '1' nếu ký tự latin thứ i là "tốt", và '0' nếu là "xấu".
  • Dòng thứ ba chứa số nguyên k .

Kết quả: Một số nguyên duy nhất là số lượng chuỗi con "tốt" khác nhau.

Ví dụ:

Dữ liệu:

ababab
01000000000000000000000000
1

Kết quả:

5

Giải thích: Ký tự tốt là 'b', xấu là 'a'. k=1 . Các chuỗi con tốt khác nhau là "a", "b", "ab", "ba", "bab".

Giới hạn:

  • 1 \le |S| \le 1500 .
  • 0 \le k \le |S| .