Pagini recente » Cod sursa (job #3299951) | Cod sursa (job #3144847) | Cod sursa (job #836837) | Cod sursa (job #2043592) | Cod sursa (job #3298253)
#include <iostream>
#include <fstream>
#include <unordered_map>
using namespace std;
ifstream f("secv5.in");
ofstream g("secv5.out");
unsigned int v[1048600];
int n;
long long nrsecv(int k)
{
unordered_map<unsigned int, int> m;
long long inceput=1,cnt=0,sol=0;
for(int i=1;i<=n;i++)
{
m[v[i]]++;
if(m[v[i]]==1) cnt++;
while(cnt>k)
{
m[v[inceput]]--;
if(m[v[inceput]]==0) cnt--;
inceput++;
}
sol+=(i-inceput+1);
}
return sol;
}
int main()
{
int l,u;
f>>n>>l>>u;
for(int i=1;i<=n;i++)
{
f>>v[i];
}
g<<nrsecv(u)-nrsecv(l-1);
g.close();
f.close();
return 0;
}