Cod sursa(job #694761)
Utilizator | Gabriel Vanca gabrielv | Data | 27 februarie 2012 23:30:41 |
---|---|---|---|
Problema | Suma si numarul divizorilor | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.56 kb |
using namespace std;
#include<cstdio>
#define MAX 100
int frecv[MAX];
int main()
{
freopen("teatru.in","r",stdin);
freopen("teatru.out","w",stdout);
int i,S=0,max=0,Z,C,begin=1,start=1,d,distincte=0;
char ch;
scanf("%d %d",&Z,&C);
for(i=1;i<=Z;i++)
{
scanf("%c",&chs);
S++;
frecv[ch]++;
if(frecv[ch]==1)
distincte++;
if(distincte>C)
{
d=0;
for(;frecv[begin]--;d++);
if(S-1>max)
{
max=S-1;
start=begin;
}
begin=begin+d;
S=S-d;
distincte--;
}
}
printf("%d\n",max);
return 0;
}