Pagini recente » Cod sursa (job #2215456) | Cod sursa (job #2119640) | Cod sursa (job #713100) | Cod sursa (job #191553) | Cod sursa (job #3155439)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("secv5.in");
ofstream fout("secv5.out");
long long n, l, u, i, j, nrd, a[1048602];
static inline long long calc(int m) {
unordered_map<long long, long long> fr; /// nr, fr
int nm = 0;
j = 1;
nrd = 0;
for(i = 1; i <= n; i++) {
fr[a[i]]++;
if(fr[a[i]] == 1) nrd++;
while(nrd > m && j <= i) {
fr[a[j]]--;
if(fr[a[j]] == 0) nrd--;
j++;
}
nm += (i - j + 1);
}
return nm;
}
int main() {
fin >> n >> l >> u;
for(i = 1; i <= n; i++) fin >> a[i];
fout << calc(u) - calc(l - 1);
return 0;
}