Pagini recente » Cod sursa (job #2253685) | Cod sursa (job #2962804) | Cod sursa (job #1498296) | Monitorul de evaluare | Cod sursa (job #9810)
Cod sursa(job #9810)
#include<stdio.h>
long long N,U,L,S,t[10000];
int a[10000];
void cit()
{
int i;
freopen("secv5.in","r",stdin);
scanf("%d%d%d",&N,&L,&U);
for(i=1;i<=N;i++)
scanf("%d",&a[i]);
}
void rez()
{
int i,j,k,ok,x,y;
for(i=1;i<=N;i++)
{
ok=1;
for(j=i-1;j>=1&&ok;j--)
if(a[i]==a[j])
ok=0;
if(ok)
t[i]=t[i-1]+1;
else
t[i]=t[i-1];
}
for(i=1;i<N;i++)
{
for(j=i;j<=N;j++)
if(t[j]-t[i]+1>=L)
{
x=j;
break;
}
for(j=j+1;j<=N;j++)
if(t[j]-t[i]+1>U)
{
//y=j-1;
break;
}
S+=j-x;
for(j=i+1;j<=N;j++)
if(a[i]==a[j])
{
for(k=j;k<=N;k++)
t[k]++;
break;
}
}
}
void scr()
{
freopen("secv5.out","w",stdout);
printf("%Ld\n",S);
fclose(stdout);
}
int main()
{
cit();
rez();
scr();
return 0;
}