Pagini recente » Cod sursa (job #1830822) | Cod sursa (job #1473907) | Cod sursa (job #174182) | Cod sursa (job #2408188) | Cod sursa (job #2524657)
#include <bits/stdc++.h>
#define DIM (1<<20 + 5)
using namespace std;
ifstream fin ("secv5.in");
ofstream fout ("secv5.out");
unordered_map <unsigned int, int> st, dr;
unsigned int n, l, r;
unsigned int v[DIM];
long long a, b, sol;
int main(){
fin >> n >> l >> r;
for (int i=1; i<=n; i++){
fin >> v[i];
}
a = b = 1;
for (int i=1; i<=n; i++){
st[v[i]]++, dr[v[i]]++;
while (st.size() >= l){
st[v[a]]--;
if (st[v[a]] == 0){
st.erase (v[a]);
}
a++;
}
while (dr.size() > r){
dr[v[b]]--;
if (dr[v[b]] == 0){
dr.erase (v[b]);
}
b++;
}
sol += (i - b + 1)- (i - a + 1);
}
fout << sol;
return 0;
}