Pagini recente » Cod sursa (job #775273) | Cod sursa (job #2959262) | Cod sursa (job #676029) | Cod sursa (job #2126604) | Cod sursa (job #3315010)
#include <fstream>
#include <string>
#include <vector>
#include <unordered_map>
#include <queue>
using namespace std;
ifstream fin("secv5.in");
ofstream fout("secv5.out");
long long v[1000001];
int n;
long long cnt(int l)
{
unordered_map<long long , int> m;
int i=0,j=0,nr=0,cnnt=0;
while(i < n)
{
m[v[i]] ++;
if(m[v[i]] == 1)
nr ++;
i ++;
while(nr > l)
{
m[v[j]] --;
if(m[v[j]] == 0)
nr --;
j ++;
}
cnnt += i - j;
}
return cnnt;
}
int u,l;
long long x;
int main()
{
fin >> n >> l >> u;
for(int i=0;i<n;i++)
fin >> v[i];
fout << cnt(u) - cnt(l-1);
return 0;
}