Pagini recente » Cod sursa (job #3150431) | Cod sursa (job #100906) | Cod sursa (job #873338) | Clasament preOJI 2004, clasele 11-12 | Cod sursa (job #1574269)
#include <iostream>
#include <fstream>
#include <unordered_map>
using namespace std;
typedef long long ll;
const ll MAXN = 1 << 20 + 1;
int n, l, u;
unsigned int a[MAXN];
ll cntSeq(int k) {
ll res = 0;
int Li = 0;
unordered_map<unsigned int, int> H;
for (int i = 0; i < n; ++i) {
++H[a[i]];
while (H.size() > k) {
--H[a[Li]];
if (H[a[Li]] == 0) {
H.erase(a[Li]);
}
++Li;
}
res += i - Li + 1;
}
return res;
}
int main()
{
ifstream cin("secv5.in");
ofstream cout("secv5.out");
cin >> n >> l >> u;
for (int i = 0; i < n; ++i) {
cin >> a[i];
}
cout << cntSeq(u) - cntSeq(l - 1);
return 0;
}