Pagini recente » Cod sursa (job #1651681) | Cod sursa (job #1524021) | Cod sursa (job #371349) | Cod sursa (job #981541) | Cod sursa (job #2820880)
#include <bits/stdc++.h>
using namespace std;
inline void Open(const string Name) {
#ifndef ONLINE_JUDGE
(void)!freopen((Name + ".in").c_str(), "r", stdin);
(void)!freopen((Name + ".out").c_str(), "w", stdout);
#endif
}
unordered_map <int, int> H;
int N, L, U, cnt;
long long ans;
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
Open("secv5");
cin >> N >> L >> U;
vector <int> v(N + 1);
for(int i = 1, j = 1;i <= N;i++) {
cin >> v[i];
H[v[i]]++, cnt += (H[v[i]] == 1);
while(cnt > U) {
H[v[j]]--, j++;
cnt -= (H[v[j]] == 0);
}
if(cnt >= L) {
ans += (i - H[v[i]]) - j + 1;
}
}
cout << ans;
return 0;
}