Pagini recente » Cod sursa (job #2300864) | Cod sursa (job #1586479) | Cod sursa (job #485071) | Cod sursa (job #802117) | Cod sursa (job #1572674)
#include <fstream>
#include <unordered_map>
using namespace std;
ifstream f("secv5.in");
ofstream g("secv5.out");
#define ll long long
#define NMAX 1<<20 + 1
int n, l, u, v[NMAX];
ll nr1, nr2;
unordered_map<int, int> h;
ll check(int lim)
{
ll rez = 0;
int i, j;
i = j = 1;
for (;i < n;i++)
{
h[v[i]]++;
while (h.size() > lim)
{
h[v[j]]--;
if (!h[v[j]]) h.erase(v[j]);
j++;
}
rez += 1LL * (i - j + 1);
}
return rez;
}
int main()
{
int i, j;
f>>n>>l>>u;
for (i = 1;i <= n;i++) f>>v[i];
nr1 = check(l);
h.clear();
nr2 = check(u);
g<<nr2 - nr1;
}