Pagini recente » Cod sursa (job #1363107) | Cod sursa (job #1639715) | Cod sursa (job #3039051) | Cod sursa (job #1859803) | Cod sursa (job #3194040)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("secv5.in");
ofstream fout("secv5.out");
long long n, l, u, i, a[1048578];
static inline long long Calc(long long val) {
unordered_map<long long, long long> fr;
long long r = 0, nr = 0;
long long j = 1;
for(i = 1; i <= n; i++) {
fr[a[i]]++;
if(fr[a[i]] == 1) nr++;
while(nr > val && j <= i) {
fr[a[j]]--;
if(fr[a[j]] == 0) nr--;
j++;
}
r += i - j + 1;
}
return r;
}
int main() {
fin >> n >> l >> u;
for(i = 1; i <= n; i++) fin >> a[i];
fout << Calc(u) - Calc(l - 1);
return 0;
}