Pagini recente » Cod sursa (job #2236308) | Cod sursa (job #70503) | Cod sursa (job #926780) | Cod sursa (job #296425) | Cod sursa (job #2890459)
#include <bits/stdc++.h>
using namespace std;
ifstream in("secv5.in");
ofstream out("secv5.out");
int nrSecv(int D, vector<unsigned int> v){
unordered_map<unsigned int, int> map;
int j = 0, nr = 0;
for (int i=0;i<v.size();i++)
{
map[v[i]]++;
while(map.size()>D){
map[v[j]]--;
if(map[v[j]]==0){
map.erase(map.find(v[j]));
}
j++;
}
nr+=(i-j+1);
}
return nr;
}
int main() {
int L, U, N;
in >> N >> L >> U;
int curent;
int same = 0, distinct = 0, sol = 0;
vector<unsigned int> inc;
for (int i = 0; i < N; ++i) {
in >> curent;
inc.push_back(curent);
}
out << nrSecv(U,inc) - nrSecv(L-1,inc);
return 0;
}