Pagini recente » Cod sursa (job #1217854) | Cod sursa (job #2861250) | Cod sursa (job #2797138) | Cod sursa (job #1286177) | Cod sursa (job #2908595)
#include <fstream>
#include <iostream>
#include <unordered_map>
#include<iterator>
using namespace std;
ifstream fin("secv5.in");
ofstream fout("secv5.out");
int n, m, t, b, u, l;
unsigned int v[1048576];
long long raspuns(unsigned int x) {
unordered_map<unsigned int, int> w;
long long r=0;
int i, j=0;
for(i=0;i<n;i++) {
w[v[i]]++;
while(w.size()>x) {
w[v[j]]--;
if (w[v[j]]==0) {
w.erase(v[j]);
}
j++;
}
r=r+i-j+1;
}
return r;
}
int main() {
int i;
fin>>n>>u>>l;
for(i=0;i<n;i++) {
fin>>v[i];
}
fout<<raspuns(l)-raspuns(u-1);
return 0;
}