834_b_The Festive Evening

来源:互联网 发布:叮叮软件 编辑:程序博客网 时间:2024/05/17 21:52

http://codeforces.com/problemset/problem/834/B

#include<cstring>#include<iostream>using namespace std;int a[1000005];//每个字母对应的位置int b[100];//代表字母第几次出现int main(){    memset(b,0,sizeof(b));    memset(a,0,sizeof(a));    int n,k;    string s;    cin>>n>>k>>s;    for(int i=0; i<n; i++)    {        if(b[s[i]-'A']==0)            a[i]++;        b[s[i]-'A']++;    }    for(int i=0; i<n; i++)    {        b[s[i]-'A']--;        if(b[s[i]-'A']==0)            a[i+1]--;//自己的门守完后再去别的门守。    }    int sum=0;    int maxx=0;    for(int i=0; i<n; i++)    {        sum+=a[i];        maxx=max(maxx,sum);    }    if(maxx>k)        cout<<"YES"<<endl;    else        cout<<"NO"<<endl;    return 0;}