Pagini recente » Cod sursa (job #1352405) | Cod sursa (job #2482182) | Cod sursa (job #2139490) | Cod sursa (job #2769915) | Cod sursa (job #3182835)
#include <bits/stdc++.h>
#define ll long long
using namespace std;
ifstream in("secv5.in");
ofstream out("secv5.out");
const int maxn = (1<<20)+5;
int n, L, U;
int a[maxn];
map<int, int> cnt;
ll func(int dis){
cnt.clear();
int l=0, r, dct=0;
ll res=0;
for(r=0; r<n; r++){
if(++cnt[a[r]] == 1){
dct++;
while(dct>dis && l<r){
if(--cnt[a[l]] == 0)
dct--;
++l;
}
}
res+=r-l+1;
}
return res;
}
int main() {
in >> n >> L >> U;
for(long i=0; i<n; ++i){
in >> a[i];
}
out << func(U) - func(L-1);
return 0;
}