Cod sursa(job #498636)

Utilizator gramatovici_paulGramatovici Paul gramatovici_paul Data 5 noiembrie 2010 17:54:47
Problema Teren Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.55 kb
#include<stdio.h>
int c,n,nrcd,j,i,nr[30],lmax,start,finish;
char s[55010];
int main()
{
	freopen("teatru.in","r",stdin);
	freopen("teatru.out","w",stdout);
	scanf("%d%d\n",&n,&c);
	gets(s+1);
	nrcd=0;
	j=0;
	for(i=1;i<=n;++i)
	{
		while(j<=n && nrcd<=c)
		{
			++j;
			++nr[s[j]-'A'];
			if (nr[s[j]-'A']==1)
				++nrcd;
		}
		if(j-i>lmax) 
		{
			lmax=j-i;
			start=i;
			finish=j-1;
		}
		--nr[s[i]-'A'];
		if (nr[s[i]-'A']==0)
			--nrcd;
	}
	printf("%d\n",lmax);
	for(i=start;i<=finish;++i)
		printf("%c",s[i]);
	return 0;
}