Pagini recente » Cod sursa (job #2933426) | Cod sursa (job #2636129) | Cod sursa (job #2471852) | Cod sursa (job #874020) | Cod sursa (job #11460)
Cod sursa(job #11460)
#include <stdio.h>
#include <map>
#define NMAX (1 << 20) +1
using namespace std;
map<long int,long int> hash;
FILE *f = fopen("secv5.in","rt"), *g = fopen("secv5.out","wt");
long int a[NMAX],i,j,k,n,min1,max1,v[NMAX],sol;
void citire()
{
long int nr=0;
fscanf(f,"%ld %ld %ld",&n,&min1,&max1);
for (i=1;i<=n;i++)
{fscanf(f,"%ld",&a[i]);
/* if (hash[k]) a[i]=hash[k];
else {a[i]=++nr;
hash[k]=nr;
}*/
}
}
int main()
{
citire();
sol=0;
for (i=1;i<=n;i++)
{
for (j=1;j<=1 << 20;j++)
v[j]=0;
v[a[i]]=1;
k=1;
j=i+1;
while (k<=max1&&j<=n)
{
v[a[j]]++;
if (v[a[j]]==1) k++;
if (k>=min1) sol++;
j++;
}
}
fprintf(g,"%ld",sol);
fclose(f);
fclose(g);
return 0;
}