Pagini recente » Cod sursa (job #1143262) | Cod sursa (job #120584) | Cod sursa (job #2160870) | Cod sursa (job #3319252) | Cod sursa (job #3325735)
#include <bits/stdc++.h>
#pragma GCC optimize("Ofast")
using namespace std;
int funct(vector<int> &a, int n, int e) {
unordered_map<int, int> m;
int ans = 0;
int dist = 0, l = 1;
for (int r = 1; r <= n; r++) {
m[a[r]]++;
if (m[a[r]] == 1) dist++;
while (l <= r && dist > e) {
m[a[l]]--;
if (m[a[l]] == 0) dist--;
l++;
}
ans += r - l + 1;
}
return ans;
}
int main() {
ifstream cin("secv5.in");
ofstream cout("secv5.out");
int n, x, y;
cin >> n >> x >> y;
vector<int> v(n + 1);
for (int i = 1; i <= n; i++) {
cin >> v[i];
}
cout << funct(v, n, y) - funct(v, n, x - 1);
return 0;
}