Pagini recente » Cod sursa (job #649447) | Cod sursa (job #2801109) | Cod sursa (job #2855435) | Cod sursa (job #1675052) | Cod sursa (job #215992)
Cod sursa(job #215992)
#define sz 2<<20
#define sx 2<<32-1
#include<vector>
using namespace std;
vector<bool> s(sx,false);
#include<stdio.h>
long long n,v[sz],app[sz];
int main()
{
long long i,l,u,last,ilast;
l=u=0;
freopen("secv5.in","r",stdin);
freopen("secv5.out","w",stdout);
last=ilast=0;
scanf("%lld %lld %lld %lld",&n,&l,&u,v);
app[0]=1;
int sum=0;
for(i=1;i<n;i++)
{
scanf("%lld",v+i);
if(v[i]!=v[i-1]&&!s[v[i]])
app[i]=app[i-1]+1;
else
app[i]=app[i-1];
s[v[i]]=true;
if(app[i]>=l&&app[i]<=u)
{
if(!last)
{last=n-(n-i);ilast=1;}
else
if(i-ilast>=l&&i-ilast<u){last++;ilast=i;}
sum+=last;
}
}
printf("%d",sum);
}