Cod sursa(job #9443)

Utilizator Binary_FireFlorin Pogocsan Binary_Fire Data 27 ianuarie 2007 15:31:10
Problema Secventa 5 Scor 30
Compilator cpp Status done
Runda Unirea 2007, clasele 11-12 Marime 0.64 kb
#include<stdio.h>
#define fin  "secv5.in"
#define fout "secv5.out"
#define Nmax 2000000
long long sol,v[Nmax];
int n,lo,hi,used[Nmax];
FILE *in,*out;

int main() {
int i,j,k;
	in=fopen(fin,"r"); out=fopen(fout,"w");
	fscanf(in,"%i%i%i",&n,&lo,&hi);

	for (i=1;i<=n;++i) fscanf(in,"%lld",&v[i]);

	for (i=1;i<=n;++i) {
		
		for (j=i+1;j<=n && v[j]!=v[i];++j);

		if (j<=n) used[j]=i;
	}
	
	for (i=1;i<=n;++i) printf("%i ",used[i]);	
	
	printf("\n");

	for (i=1;i<=n;++i) { 
		k=0;
		for (j=i;j<=n && k<=hi;++j) {

			if (!used[j] || used[j]<i) ++k;

			if (k>=lo && k<=hi) ++sol;
		}
	}

	fprintf(out,"%lld\n",sol);

	fclose(in); fclose(out);
	return 0;	
	
	
}