Pagini recente » Cod sursa (job #892142) | Monitorul de evaluare | Cod sursa (job #106785) | Cod sursa (job #2977289) | Cod sursa (job #2958387)
#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)
{
f.clear();
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 <= n)
{
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];
cout << fa(u)-fa(l-1);
return 0;
}