Pagini recente » Cod sursa (job #1020390) | Cod sursa (job #2680928) | Cod sursa (job #2105321) | Cod sursa (job #2881004) | Cod sursa (job #3155435)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("secv5.in");
ofstream fout("secv5.out");
int n, l, u, i, j, nrd, a[1048602];
static inline int calc(int m) {
unordered_map<int, int> 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) {
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;
}