Pagini recente » Cod sursa (job #1640405) | Cod sursa (job #331649) | Cod sursa (job #1540714) | Cod sursa (job #2013420) | Cod sursa (job #3270987)
#include <bits/stdc++.h>
using namespace std;
int v[10000005];
int okbro(int a, int n)
{
long long ans = 0;
unordered_map<int, int> f;
int l = 0, cnt = 0;
for (int r = 0; r < n; r ++)
{
f[v[r]] ++;
if (f[v[r]] == 1)
cnt ++;
r ++;
while (cnt > a)
{
f[v[l]] --;
if (f[v[l]] == 0)
cnt --;
l ++;
}
ans += r - l + 1;
}
return ans;
}
int main()
{
ifstream cin("secv5.in");
ofstream cout("secv5.out");
long long n, a, b;
cin >> n >> a >> b;
for (int i = 0; i < n; i++)
cin >> v[i];
cout << okbro(b, n) - okbro(a - 1, n);
return 0;
}