Bàn phím hỏng

Đề bài

Mô tả

Cho một xâu s gồm n ký tự chữ cái Latinh in thường. Bạn có một bàn phím bị hỏng — chỉ còn k ký tự còn hoạt động: c1,c2,…,ck.

Hãy đếm số xâu con (đoạn liên tiếp) s[a…b] với 1≤a≤b≤n sao cho mọi ký tự trong đoạn đều thuộc tập k ký tự còn hoạt động.

Hai xâu con được xem là khác nhau nếu vị trí (a,b) khác nhau, kể cả khi nội dung trùng nhau.

Dữ liệu vào

  • Dòng đầu chứa hai số nguyên n và k.
  • Dòng thứ hai chứa xâu s độ dài n gồm các chữ cái Latinh in thường.
  • Dòng thứ ba chứa k ký tự phân biệt c1,c2,…,ck cách nhau bởi dấu cách.

Dữ liệu ra

In ra một số nguyên duy nhất — số xâu con của s có thể gõ được chỉ bằng các ký tự còn hoạt động.

Ràng buộc

  • 1≤n≤2·105
  • 1≤k≤26
  • s gồm các chữ cái Latinh in thường.
  • Các ký tự c1,…,ck đôi một phân biệt.

Ví dụ

Input Output Giải thích
7 2
abacaba
a b
12 Có thể gõ được các xâu con tại vị trí [1,2],[2,3],[1,3],[1,1],[2,2],[3,3],[5,6],[6,7],[5,7],[5,5],[6,6],[7,7] — tổng 12.
10 3
sadfaasdda
f a d
21 Toàn bộ xâu gồm các ký tự thuộc {a,d,f,s} nhưng s không có trong bàn phím nên các đoạn bị chia bởi s.
7 1
aaaaaaa
b
0 Không có ký tự a nào gõ được nên không có xâu con hợp lệ.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0