Pagini recente » Cod sursa (job #1116455) | Cod sursa (job #878024) | Cod sursa (job #3267256) | Cod sursa (job #196570) | Cod sursa (job #2877057)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("secv5.in");
ofstream fout("secv5.out");
int n, l, u, v[(1 << 20) + 5];
long long solve(int k) {
unordered_map<int, int> m;
long long sol = 0;
for (int 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 += dr - st;
}
return sol;
}
int main() {
fin >> n >> l >> u;
for (int i = 1; i <= n; i++)
fin >> v[i];
fout << solve(u) - solve(l - 1);
return 0;
}