Pagini recente » Cod sursa (job #988278) | Cod sursa (job #2335995) | Cod sursa (job #362112) | Cod sursa (job #2523832) | Cod sursa (job #2265673)
#include <bits/stdc++.h>
#define int long long
using namespace std;
ifstream in("secv5.in");
ofstream out("secv5.out");
int v[1000005];
int f(int x, int n)
{
unordered_map <int, int> mp;
int nr = 0, cnt = 1;
for(int i = 1; i <= n; i++)
{
mp[v[i]]++;
while(mp.size() > x)
{
mp[v[cnt]]--;
if(mp[v[cnt]] == 0)
mp.erase(v[cnt]);
cnt++;
}
nr += (i - cnt + 1);
// cout << nr << " ";
}
// cout << '\n';
return nr;
}
int32_t main()
{
int n, a, b;
in >> n >> a >> b;
for(int i = 1; i <= n; i++)
in >> v[i];
out << f(b, n) - f(a - 1, n);
return 0;
}