Pagini recente » Cod sursa (job #2176115) | Cod sursa (job #3349657) | Cod sursa (job #162256) | Cod sursa (job #1997228) | Cod sursa (job #3314737)
#include <bits/stdc++.h>
#include <unordered_map>
using namespace std;
ifstream fin("secv5.in");
ofstream fout("secv5.out");
const int MAXN=1e7;
long long sir[MAXN];
int n;
long long cnt(int x)
{
int i, j, nr;
unordered_map<long long, int> frecv;
long long ans;
i = j = nr = ans = 0;
while (j < n)
{
frecv[sir[j]]++;
if (frecv[sir[j]] == 1) nr++;
j++;
while (nr > x)
{
frecv[sir[i]]--;
if (frecv[sir[i]] == 0) nr--;
i++;
}
ans += j - i;
}
return ans;
}
int main()
{
int l, u;
fin >> n >> l >> u;
for (int i = 0; i < n; i++) fin >> sir[i];
fout << cnt(u) - cnt(l - 1);
return 0;
}