Pagini recente » Cod sursa (job #2636802) | Cod sursa (job #2316915) | Cod sursa (job #724362) | Cod sursa (job #3260462) | Cod sursa (job #3182836)
#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;
}