Cod sursa(job #356196)

Utilizator Andrei200Andrei200 Andrei200 Data 13 octombrie 2009 19:46:01
Problema Secventa 5 Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.8 kb
#include <cstdio>
#include <cstring>

#define file_in "secv5.in"
#define file_out "secv5.out"

long long v[1<<20+1],nrs,frecv[1<<20+1],max;
long int N,L,U,i,j,k,nrr,nr;


int main()
{
	freopen(file_in,"r",stdin);
	freopen(file_out,"w",stdout);
	
	scanf("%ld %ld %ld", &N, &L, &U);
	for (i=1;i<=N;++i)
		 scanf("%lld", &v[i]);
	
	nrs=0;
	for (i=1;i<=N;++i)
	{
		memset(frecv,0,sizeof(frecv));
		frecv[v[i]]++;
		max=0;
		for (j=i;j<=N;++j)
		{
			frecv[v[j]]++;
			if (v[j]>max) max=v[j];
			nrr=0;
			for (k=1;k<=max;++k)
				 if (frecv[k]!=0)
					 nrr++;
			if (nrr>=L && nrr<=U) 
			{
				nrs++;
				/*for (k=i;k<=j;++k)
					 printf("%d ", v[k]);
				printf("\n");*/
			}
        }
	}
	
	printf("%lld", nrs);
	
	fclose(stdin);
	fclose(stdout);
	
	return 0;
	
}