Pagini recente » Cod sursa (job #630886) | Cod sursa (job #842478) | Cod sursa (job #3255173) | Cod sursa (job #2553205) | Cod sursa (job #2958391)
#include<bits/stdc++.h>
using namespace std;
ifstream fin("secv5.in");
ofstream fout("secv5.out");
#define cin fin
#define cout fout
#define N 2000005
#define power 73
#define mod 66666013
#define oo 1e18
long long n, l, u, v[N];
map < long long , long long > f;
long long fa(long long dif)
{
long long st = 1, rez = 0, acum = 0;
for(long long i = 1 ; i <= n ; i++)
{
f[v[i]]++;
if(f[v[i]] == 1)acum++;
while(acum > dif && st <= i)
{
f[v[st]]--;
if(f[v[st]] == 0)acum--;
st++;
}
rez += i-st+1;
}
return rez;
}
int main()
{
cin >> n >> l >> u;
for(long long i = 1 ; i <= n ; i++)cin >> v[i];
long long fin = fa(u);
f.clear();
fin -= fa(l-1);
cout << fin;
return 0;
}