Cod sursa(job #694761)

Utilizator gabrielvGabriel 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;
}