Pagini recente » Cod sursa (job #644246) | Cod sursa (job #960124) | Cod sursa (job #2588476) | Cod sursa (job #1629000) | Cod sursa (job #1266902)
#include <fstream>
#include <unordered_map>
using namespace std;
const int kMaxN = 1050000;
ifstream fin("secv5.in");
ofstream fout("secv5.out");
int N, L, U, v[kMaxN];
unordered_map<int, int> ap;
long long Count(size_t lim) {
ap.clear();
int st = 1;
long long sol = 0;
for (int i = 1; i <= N; ++i) {
++ap[v[i]];
while (ap.size() > lim) {
--ap[v[st]];
if (!ap[v[st]])
ap.erase(v[st]);
++st;
}
sol += i - st + 1;
}
return sol;
}
int main() {
fin >> N >> L >> U;
for (int i = 1; i <= N; ++i)
fin >> v[i];
fout << Count(U) - Count(L - 1) << "\n";
return 0;
}