解析
答案即为相距最远的两个特殊字符的距离
#include<bits/stdc++.h>
using namespace std;
#define int long long
#define endl '\n'
#define inf 1e18
const int mod=1e9+7;
const int N=2e5+5;
int n,m;
void solve(){
cin>>n;
string s;
cin>>s;
cin>>m;
map<char,int>mp;
for(int i=1;i<=m;i++){
char ch;
cin>>ch;
mp[ch]=1;
}
int ans=0,pre=0;
for(int i=0;i<s.size();i++){
if(mp.count(s[i])&&i>pre){
ans=max(ans,i-pre);
pre=i+1;
while(pre<s.size()&&mp.count(s[pre])){
pre++;
}
pre--;
}
}
cout<<ans<<endl;
}
signed main(){
ios::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
int tt=1;
cin>>tt;
while(tt--) solve();
return 0;
}