Pagini recente » Cod sursa (job #1446659) | Cod sursa (job #1594968) | Cod sursa (job #2208111) | Cod sursa (job #485733) | Cod sursa (job #2877991)
#include <bits/stdc++.h>
using namespace std;
long long N, L, U;
unsigned int V[1<<20];
long long functie(int k){
unordered_map<unsigned int, int> x;
long long ct = 0;
for(int i=0, j=0; i < N; i++) {
x[V[i]]++;
while (x.size() > k) {
x[V[j]]--;
if (x[V[j]] == 0)
x.erase(V[j]);
j++;
}
ct += i - j + 1;
}
return ct;
}
int main(){
ifstream fin("secv5.in");
ofstream fout("secv5.out");
fin>>N>>L>>U;
for(int i=0; i<N; i++)
fin>>V[i];
fout<<functie(U) - functie(L-1);
}