Pagini recente » Cod sursa (job #2671096) | Cod sursa (job #2345881) | Cod sursa (job #403286) | Cod sursa (job #91584) | Cod sursa (job #2524651)
#include <bits/stdc++.h>
#define DIM 1<<20 + 5
using namespace std;
ifstream fin ("secv5.in");
ofstream fout ("secv5.out");
unordered_map <int, int> st, dr;
int n, l, r, a, b, sol;
int v[DIM];
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 - a + 1) - (i - b + 1);
}
fout << abs(sol);
return 0;
}