Pagini recente » Cod sursa (job #233763) | Cod sursa (job #305503) | Cod sursa (job #255089) | Cod sursa (job #443976) | Cod sursa (job #3326129)
#include <fstream>
#include <unordered_map>
using namespace std;
#define int long long
ifstream cin("secv5.in");
ofstream cout("secv5.out");
int n;
int a[1048576];
int functie(int t)
{
unordered_map<int, int> frec;
int nr=0, nrDist = 0, l = 0;
for(int r = 0; r < n; r++)
{
frec[a[r]]++;
if (frec[a[r]] == 1) nrDist++;
while (l <= r && nrDist > t)
{
frec[a[l]]--;
if (frec[a[l]] == 0) nrDist--;
l++;
}
nr += r - l + 1;
}
return nr;
}
signed main()
{
int l, u, x;
cin >> n >> l >> u;
for (int i = 0; i < n; i++)
{
cin >> x;
a[i] = x;
}
cout << functie(u) - functie(l - 1);
}