Pagini recente » Cod sursa (job #1437836) | Cod sursa (job #2778076) | Cod sursa (job #1662700) | Cod sursa (job #170590) | Cod sursa (job #2039004)
#include <bits/stdc++.h>
using namespace std;
map<unsigned int,int>M;
unsigned int a[1024*1024+20],n,L,U;
ifstream fin("secv5.in");
ofstream fout("secv5.out");
///Cate secvente au cel mult k valori dinstincte
void Citire()
{
fin>>n>>L>>U;
for(int i=1;i<=n;i++)
{
fin>>a[i];
}
}
long long NrSecvente(int k)
{
int i,j;
unsigned int x;
long long cnt;
i=1;
for(j=1;j<=n;j++)
{
M[a[j]]++;
while(M.size()>k)
{cout<<"hey";
x=a[i];
i++;
M[x]--;
if(M[x]==0) M.erase(x);
}
cnt+=(j-i+1);
///adaug cele j-i+1 secvente
///care se termina cu a[j]
}
return cnt;
}
int main()
{
Citire();
fout<<NrSecvente(U)-NrSecvente(L-1);
return 0;
}