Pagini recente » Cod sursa (job #3185253) | Cod sursa (job #775137) | Cod sursa (job #2409778) | Cod sursa (job #466499) | Cod sursa (job #3182839)
#include <bits/stdc++.h>
#define ll long long
using namespace std;
ifstream in("secv5.in");
ofstream out("secv5.out");
const int maxn = 1e7;
int n, L, U;
ll a[maxn];
ll func(int dis){
unordered_map<ll, int> cnt;
int l=0, dct=0;
ll res=0;
for(int 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;
}
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;
}