Cod sursa(job #215997)

Utilizator SheepBOYFelix Liviu SheepBOY Data 21 octombrie 2008 23:44:53
Problema Secventa 5 Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#define sz 2<<20
#include<vector>
using namespace std;  
vector<bool> s(2<<30,false);
#include<stdio.h>
int n,v,lv,app[sz];
int main()
{
	int 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,&lv);
	app[0]=1;
	int sum=0;
	for(i=1;i<n;i++)
	{
		scanf("%lld",&v);
		if(v!=lv&&!s[v])	
			app[i]=app[i-1]+1;
		else
			app[i]=app[i-1];
	s[v]=true;
	lv=v;
	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);
}