Pagini recente » Cod sursa (job #2647752) | Cod sursa (job #3131740) | Cod sursa (job #2820547) | Cod sursa (job #2082738) | Cod sursa (job #3155445)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("secv5.in");
ofstream fout("secv5.out");
long long n, l, u, i, a[1050002];
long long calc(int m) {
unordered_map<int, int> fr; /// nr, fr
int nm = 0, nrd = 0;
int j = 1;
for(i = 1; i <= n; i++) {
if(fr[a[i]] == 0) nrd++;
fr[a[i]]++;
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;
}