Pagini recente » Cod sursa (job #3186067) | Cod sursa (job #1987322) | Cod sursa (job #661562) | Cod sursa (job #614193) | Cod sursa (job #3238287)
#include <fstream>
#include <map>
using namespace std;
ifstream cin("secv5.in");
ofstream cout("secv5.out");
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);
}