Pagini recente » Cod sursa (job #552747) | Cod sursa (job #2720228) | Cod sursa (job #2828169) | Cod sursa (job #3238288)
#include <fstream>
#include <unordered_map>
using namespace std;
ifstream cin("secv5.in");
ofstream cout("secv5.out");
int v[1048576],n;
unordered_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)-subp(l-1);
}