Pagini recente » Cod sursa (job #2507710) | Cod sursa (job #2300338) | Cod sursa (job #89407) | Cod sursa (job #3254283) | Cod sursa (job #2877062)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("secv5.in");
ofstream fout("secv5.out");
long long n, l, u, v[(1 << 20) + 5];
long long solve(int k) {
unordered_map<long long, int> m;
long long sol = 0;
for (long long dr = 1, st = 1; dr <= n; dr++) {
m[v[dr]] += 1;
while (m.size() > k) {
m[v[st]] -= 1;
if (m[v[st]] == 0)
m.erase(v[st]);
st++;
}
sol = 1LL * (sol + dr - st);
}
return sol;
}
int main() {
fin >> n >> l >> u;
for (long long i = 1; i <= n; i++)
fin >> v[i];
fout << solve(u) - solve(l - 1);
return 0;
}