Pagini recente » Cod sursa (job #1983545) | Cod sursa (job #1032098) | Cod sursa (job #2241464) | Cod sursa (job #2224942) | Cod sursa (job #1990292)
#include <bits/stdc++.h>
using namespace std;
const int N = 1234567;
int i, n, l, u, nr;
unsigned int a[N];
long long solve(int nr) {
long long ans = 0;
int cnt = 0, i, j = 1;
unordered_map<unsigned int, int> freq;
for(i = 1; i <= n; ++i) {
++freq[a[i]];
if(freq[a[i]] == 1) ++cnt;
while(cnt > nr) {
--freq[a[j]]; ++j;
if(!freq[a[j - 1]]) --cnt, freq.erase(a[j - 1]);
}
ans += i - j + 1;
}
return ans;
}
int main() {
ifstream cin("secv5.in");
ofstream cout("secv5.out");
ios_base::sync_with_stdio(0);
cin >> n >> l >> u;
for(i = 1; i <= n; ++i) cin >> a[i];
cout << solve(u) - solve(l - 1) << '\n';
return 0;
}