Pagini recente » Cod sursa (job #1783385) | Rating Olar Razvan (olahus) | Cod sursa (job #2952369) | Monitorul de evaluare | Cod sursa (job #2149796)
#include<fstream>
#include<vector>
#define M 66013
#include<algorithm>
#include<unordered_map>
#include<iostream>
#define pb push_back
#define x first
#define y second
using namespace std;
ifstream fin("secv5.in");
ofstream fout("secv5.out");
long long n,a[(1<<20)+5],r[(1<<20)+5],p,f,val,poz,st,dr,mij,r1,r2,rez,l,u;
pair<long long,int >v[(1<<20)+5];
unordered_map<long long,int>mp;
long long ve(int z)
{
mp.clear();
long long rez=0;
int j=1;
for(int i=1;i<=n;i++)
{
mp[a[i]]++;
while(mp.size()>z)
{
mp[a[j]]--;
if(mp[a[j]]==0)
mp.erase(a[j]);
j++;
}
rez+=(i-j+1);
}
return rez;
}
int main()
{
fin>>n>>l>>u;
for(int i=1;i<=n;i++)
{
fin>>a[i];
v[i].x=a[i];
v[i].y=i;
}
fout<<ve(u)-ve(l-1);
}