Pagini recente » Cod sursa (job #1482065) | Cod sursa (job #555172) | Cod sursa (job #2429657) | Cod sursa (job #664650) | Cod sursa (job #3348104)
#include <bits/stdc++.h>
#define NMAX 1048576
using namespace std;
ifstream in("secv5.in");
ofstream out("secv5.out");
int v[NMAX+1];
map<int, int> nr1, nr2;
int main()
{
int n, l, u;
in >> n >> l >> u;
int st=1, dr=1;
long long nr_subsecv=0;
for(int i=1; i<=n; i++)
{
in >> v[i];
nr1[v[i]]++;
nr2[v[i]]++;
while(nr1.size()>u && st<=i)
{
nr1[v[st]]--;
if(nr1[v[st]]==0) nr1.erase(nr1.find(v[st]));
st++;
}
while(nr2.size()>=l && dr<=i)
{
nr2[v[dr]]--;
if(nr2[v[dr]]==0) nr2.erase(nr2.find(v[dr]));
dr++;
}
nr_subsecv+=dr-st;
}
out << nr_subsecv;
return 0;
}