Pagini recente » Cod sursa (job #714092) | Cod sursa (job #579170) | Cod sursa (job #1280579) | Cod sursa (job #691299) | Cod sursa (job #3258695)
#include <fstream>
#include <unordered_map>
#include <vector>
#include <algorithm>
#include <cstdint>
#include <deque>
using namespace std;
ifstream cin("secv5.in");
ofstream cout("secv5.out");
int v[10000];
int n,l,u;
int check(int x) {
int fp = 0,sp = 0,c = 0,ans = 0;
unordered_map<int,int> vf;
while (sp < n) {
vf[v[sp]] ++;
if (vf[v[sp]] == 1) c++;
while (c > x) {
vf[v[fp]] --;
if (vf[v[fp]] == 0) c--;
fp++;
}
ans += sp - fp;
sp++;
}
return ans;
}
int32_t main() {
cin>>n>>l>>u;
for (int i=0; i<n; i++) {
cin>>v[i];
}
cout<<check(u) - check(l-1);
}