Pagini recente » Cod sursa (job #877234) | Cod sursa (job #1678710) | Cod sursa (job #1856205) | Cod sursa (job #1370910) | Cod sursa (job #1318821)
#include<fstream>
#include<unordered_map>
using namespace std;
#define NMAX 1<<20
long long sol(unsigned int x,unsigned int v[NMAX],unsigned int n, unordered_map<unsigned int,unsigned int> H)
{
long long rez=0;
H.clear();
for(int i=1,j=1;i<=n;++i)
{
H[v[i]]++;
while(H.size()>x)
{
--H[v[j]];
if(H[v[j]]==0)
H.erase(v[j]);
j++;
}
rez+=(i-j+1);
}
return rez;
}
int main()
{
unsigned int n,l,u;
ifstream in("secv5.in");
ofstream out("secv5.out");
unsigned int v[NMAX];
unordered_map<unsigned int,unsigned int> H;
in>>n>>l>>u;
for (int i=1;i<=n;++i)
in>>v[i];
out<<sol(u,v,n,H)-sol(l-1,v,n,H);
return 0;
}