求调
查看原帖
求调
1388262
lianghuahua楼主2025/7/31 19:57
#include <bits/stdc++.h>
using namespace std;
const int N=1e5+10;
int n,l=1,val=0,num=0,ans=1e9,cnt[26]={};
string s[N];
int main(){
	cin>>n;
	for(int i=1;i<=n;i++) cin>>s[i];
	for(int r=1;r<=n;r++){
		for(int j=0;j<s[r].size();j++){
			char c=s[r][j];
			if(cnt[c-'a']==0){
				cnt[c-'a']++;
				val++;
			}
			num++;
		}
		while(val>=26&&l<=r){
			ans=min(ans,num);
			for(int j=0;j<s[l].size();j++){
				char c=s[l][j];
				cnt[c-'a']--;
				if(cnt[c-'a']==0) val--;
				num--;
			}
			l++;
		}
	}
	cout<<ans;
	return 0;
}
2025/7/31 19:57
加载中...