rt。
#include <bits/stdc++.h>
#define ll long long
#define mod 909043
using namespace std;
int n, m, ans1, a[1005], b[100005], l, r, app[909048], ans2 = INT_MAX;
bool vis[909048], flag[909048];
int gethash(string s){
int kkk = s.size(), res = 0;
for(int i = 0; i < kkk; i++){
res *= 128;
res += (int)s[i];
res %= mod;
}
return res;
}
int main(){
cin >> n;
for(int i = 0; i < n; i++){
string str;
cin >> str;
int k = gethash(str);
flag[k] = true;
a[i + 1] = k;
}
cin >> m;
for(int i = 0; i < m; i++){
string str;
cin >> str;
int k = gethash(str);
b[i + 1] = k;
if(flag[k] && !vis[k]){
ans1++;
vis[k] = true;
}
}
cout << ans1 << endl;
if(ans1 == 0){
cout << 0 << endl;
return 0;
}
l = m;
r = m;
while(1){
if(ans1){
if(l == 0){
break;
}
if(vis[b[l]]){
if(!app[b[l]]){
ans1--;
}
app[b[l]]++;
}
l--;
}
else{
while(!vis[b[r]]){
r--;
}
ans2 = min(ans2, r - l);
if(app[b[r]] >= 1){
if(app[b[r]] == 1){
ans1++;
}
r--;
app[b[r]]--;
}
}
}
cout << ans2 << endl;
return 0;
}
/*
input:
6
cyq
lyw
ak
ioi
wuweiqi
linmeng
15
linmeng
ak
ioi
cyq
ak
ioi
lyw
ak
ioi
wuweiqi
ak
ioi
cyq
ak
lyw
output:
6
10
*/