Kí tự đặc biệt
Xem dạng PDF
Gửi bài giải
Điểm:
100,00 (OI)
Giới hạn thời gian:
2.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
Assembly, AWK, C, C++, C++20, C++23, Go, Java, Kotlin, Pascal, Perl, PyPy, Python, Rust, Scratch, SED, Text
Bạn được cho một xâu ~S~ có độ dài ~n~ gồm các chữ cái từ a đến z. Nhiệm vụ của bạn là đếm số xâu con liên tiếp mà mỗi cặp kí tự đặc biệt trong xâu con đó có khoảng cách không nhỏ hơn ~k~ (~k \le n~).
Input
- Dòng đầu tiên gồm ba số nguyên dương ~n, m, k~ (~1 \le k \le n \le 10^5; 1 \le m \le 10~), lần lượt là độ dài của xâu ~S~, số lượng kí tự đặc biệt và khoảng cách yêu cầu giữa hai kí tự đặc biệt bất kì.
- Dòng thứ hai chứa xâu ~S~ gồm các chữ cái từ
ađếnz. - Dòng cuối cùng gồm ~m~ kí tự là các kí tự đặc biệt, dữ liệu đảm bảo các kí tự này phân biệt.
Output
Gồm một dòng duy nhất là số lượng xâu con liên tiếp thỏa mãn đề bài.
Scoring
- Subtask 1 (30% số điểm): ~1 \le k \le n \le 10^3~.
- Subtask 2 (20% số điểm): ~1 \le k \le n \le 10^5~, trong xâu chỉ có đúng ~2~ vị trí có kí tự đặc biệt.
- Subtask 3 (50% số điểm): Không có ràng buộc gì thêm.
Ví dụ
Input
6 2 2
acbabc
a b
Output
10
Giải thích
Các xâu con thỏa mãn là: a, c, b, a, b, c, ac, acb, cb, bc.
Bình luận