Cod sursa(job #10038)

Utilizator szakiold name szaki Data 27 ianuarie 2007 20:36:31
Problema Secventa 5 Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.94 kb
#include <stdio.h>
//#include <conio.h>

#ifndef __CONIO_H
	void clrscr() { freopen("secv5.out","w",stdout); }
	void getch() {}
	int debug(const char *format,...) {}
	void list(long *a, long i, long j){};
#else
	#define debug printf
	void list (long *a, long i, long j)
	{
		for (; i<=j; i++)
		printf("%d ", a[i]);
		printf("\n");
	}
#endif

typedef unsigned long uint32;

int main()
{
	FILE *fin = fopen("secv5.in", "r");
	clrscr();
	uint32 n,l,u;
	uint32 i,j,k;
	fscanf(fin,"%ld %ld %ld", &n, &l, &u);

	uint32 *a = new uint32[n+1];

	for (i = 0; i < n; i++)
		fscanf(fin, "%ld", &a[i]);

	uint32 nr = 0;

	for (i=0;i<=n-l;i++)
	{
		uint32 dist = 0;
		for (j=i; j < n; j++)
		{
			for (k=i;k<j;k++)
				if (a[k] == a[j]) break;
			if (k==j) dist++;
			if (dist > u) break;
			if (dist >= l) {
			debug("%ld-%ld\n", i+1, j+1);
			//list(a,i,j);
			nr++; }
		}
	}
	printf("%ld\n", nr);
	getch();

	return 0;
}