Pagini recente » Cod sursa (job #1744749) | Cod sursa (job #2009182) | Cod sursa (job #3133123) | Cod sursa (job #900608) | Cod sursa (job #3318822)
#include <bits/stdc++.h>
using namespace std;
int n;
long long a[(1 << 20) + 1];
long long solve(int x) {
if(x == 0) {
return 0;
}
map<int, int> mp;
int i = 1;
int cnt = 0;
long long sol = 0;
for(int j = 1; j <= n; j++) {
mp[a[j]]++;
if(mp[a[j]] == 1) {
cnt++;
}
while(cnt > x && i < j) {
mp[a[i]]--;
if(mp[a[i]] == 0) {
cnt--;
}
i++;
}
sol += j - i + 1;
}
return sol;
}
int main() {
ifstream cin("secv5.in");
ofstream cout("secv5.out");
int l, u;
cin >> n >> l >> u;
for(int i = 1; i <= n; i++) {
cin >> a[i];
}
cout << solve(u) - solve(l - 1);
return 0;
}