Pagini recente » Cod sursa (job #1627008) | Cod sursa (job #1583833) | Cod sursa (job #2438849) | Cod sursa (job #3307431) | Cod sursa (job #3318820)
#include <bits/stdc++.h>
using namespace std;
int n;
int a[(1 << 20) + 1];
long long solve(int x) {
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("secv.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;
}