Pagini recente » Cod sursa (job #2482779) | Cod sursa (job #3226506) | Cod sursa (job #37940) | Cod sursa (job #277940) | Cod sursa (job #9417)
Cod sursa(job #9417)
#include<stdio.h>
long a[5000000];
long n , sir[1500000];
long i , j , l , u , k ,x;
int main()
{
freopen("secv5.in","r",stdin);
freopen("secv5.out","w",stdout);
scanf("%ld%ld%ld",&n,&l,&u);
for (i = 1 ; i <= n ; i++)
scanf("%ld",&sir[i]);
k = u+1;
long nrsol = 0;
for (i = 1 ; i < l ; i++)
a[sir[i]] += 1;
for (i = l ; i <= n ; i++)
{
x = 1;
a[sir[i]] = k;
for (j = i-1;j>= 1; j--)
{
if (a[sir[j]] < k)
{
x++;
a[sir[j]] = k;
if( x >=l && x <= u)
{
nrsol++;
}
else
if ( x > u)
break;
else
if (i-j+1>u)
break;
}
else
if (a[sir[j]] == k && x >= l && x <= u)
{
nrsol++;}
}
k++;
}
printf("%ld",nrsol);
return 0;
}