Pagini recente » Cod sursa (job #2638353) | Cod sursa (job #2173671) | Cod sursa (job #2617329) | Cod sursa (job #1504426) | Cod sursa (job #3238286)
#include <iostream>
#include <map>
using namespace std;
int v[1048576],n;
map<int,int>m;
int subp(int x){
int s=0,d=0,dist=0,cnt=0;
while(d<n){
if(m[v[d]]==0)
dist++;
m[v[d]]++;
while(dist>x){
m[v[s]]--;
if(m[v[s]]==0)
dist--;
s++;
}
cnt+=(d-s+1);
d++;
}
for(auto I:m){
m[I.first]=0;
};
return cnt;
}
int main()
{
int l,u;
cin>>n>>l>>u;
for(int i=0;i<n;i++)
cin>>v[i];
cout<<subp(u)-(l>1?subp(l-1):0);
}