Pagini recente » Rating Cristina Opriceana (cristina2689) | Cod sursa (job #2064318) | Cod sursa (job #699249) | Cod sursa (job #420448) | Cod sursa (job #2608792)
#include <fstream>
#include <unordered_map>
using namespace std;
ifstream fin ("secv5.in");
ofstream fout ("secv5.out");
unordered_map<unsigned int, int> m;
int n, l, u;
unsigned int v[1048577];
int secv (int x)
{
int ind_st=1, ind_dr=1;
int elem_disctincte=1;
int Secv=0;
m[v[1]]++;
while(ind_st<=n)
{
while(elem_disctincte<=x && ind_dr<=n)
{
ind_dr++;
m[v[ind_dr]]++;
if(m[v[ind_dr]]==1) elem_disctincte++;
}
Secv+=(ind_dr-ind_st);
m[v[ind_st]]--;
if(m[v[ind_st]]==0) elem_disctincte--;
ind_st++;
}
return Secv;
}
int main()
{
fin>>n>>l>>u;
for(int i=1; i<=n; i++)
fin>>v[i];
fout<<secv(u)-secv(l-1);
return 0;
}