提交时间:2023-11-18 09:45:53

运行 ID: 111059

#include<bits/stdc++.h> using namespace std; string s; int a[10010]={-1}; bool pd[10010]={true}; bool is() { for(int i=1;i<=26;i++) if(!pd[i]) return 0; return 1; } int main() { memset(pd,1,sizeof(pd)); cin>>s; for(int i=0;i<s.size();i++) a[s[i]-'a'+1]=max(a[s[i]-'a'+1],i); int tmp=0; for(int i=0;i<s.size();i++) { if(a[s[i]-'a'+1]>i) { pd[s[i]-'a'+1]=0; continue; } else pd[s[i]-'a'+1]=1; if(is()) { cout<<i+1-tmp<<" "; tmp=i+1; } } return 0; }