Pagini recente » Cod sursa (job #239722) | Cod sursa (job #324374) | Cod sursa (job #759230) | Cod sursa (job #501052) | Cod sursa (job #3319486)
#include<bits/stdc++.h>
using namespace std;
ifstream fin("secv5.in");
ofstream fout("secv5.out");
#define pb push_back
int a[(1<<20)+1],n;
unordered_map<int,int> mp;
long long subsecv(int mad){
int st=1;
int dr;
long long cnt=0;
mp.clear();
for(dr=1;dr<=n;dr++){
mp[a[dr]]++;
while((int)mp.size()>mad && st<dr){
mp[a[st]]--;
if(mp[a[st]]==0)
mp.erase(a[st]);
st++;
}
cnt+=(dr-st+1);
}
return cnt;
}
int main(){
int L,U;
fin>>n>>L>>U;
for(int i=1;i<=n;++i){
fin>>a[i];
}
fout<<subsecv(U)-subsecv(L-1);
}