RE求助
  • 板块P1381 单词背诵
  • 楼主WsW_花逝爆零人
  • 当前回复0
  • 已保存回复0
  • 发布时间2023/11/3 14:28
  • 上次更新2023/11/3 14:38:49
查看原帖
RE求助
349824
WsW_花逝爆零人楼主2023/11/3 14:28
#include<bits/stdc++.h>
using namespace std;

int n,m;
int ned;
string t,s[100003];
map<string,bool>mp,vis;
map<string,int>cnt;

int ans;

int main(){
	ios::sync_with_stdio(0);
	cin.tie(0);cout.tie(0);
	
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>t;
		mp[t]=1;
	}
	cin>>m; ans=m;
	for(int i=1;i<=m;i++){
		cin>>s[i];
		if(mp.count(s[i])&&!vis.count(s[i])){
			vis[s[i]]=1;
			++ned;
		}
	}
	cout<<ned<<'\n';
	for(int i=1,j=0;;i++){
		while(ned&&j<=m){
			++j;
			if(mp.count(s[j])){
				if(!cnt[s[j]])ned--;
				cnt[s[j]]++;
			}
		}
		if(ned)break;
		ans=min(ans,j-i+1);
		if(mp.count(s[i])){
			cnt[s[i]]--;
			if(!cnt[s[i]])ned++;
		}
	}
	cout<<ans;
	return 0;
}
2023/11/3 14:28
加载中...