Pagini recente » Cod sursa (job #1284687) | Cod sursa (job #1106943) | Cod sursa (job #239370) | Cod sursa (job #3030083) | Cod sursa (job #2890485)
#include <bits/stdc++.h>
using namespace std;
ifstream in("secv5.in");
ofstream out("secv5.out");
int nrSecv(unsigned long long D, vector<long long> v) {
unordered_map<unsigned int, int> map;
long long j = 0, nr = 0;
long long k = v.size();
for (long long i = 0; i < k; 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() {
unsigned long long L, U, N;
in >> N >> L >> U;
long long curent;
vector<long long> inc;
for (long long i = 0; i < N; ++i) {
in >> curent;
inc.push_back(curent);
}
out << nrSecv(U, inc) - nrSecv(L - 1, inc);
in.close();
out.close();
return 0;
}