Pagini recente » Cod sursa (job #2214027) | Cod sursa (job #980811) | Cod sursa (job #1903459) | Cod sursa (job #3317254) | Cod sursa (job #3348105)
#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 cnt1=0, cnt2=0;
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]]++;
if(nr1[v[i]]==1) cnt1++;
if(nr2[v[i]]==1) cnt2++;
while(cnt1>u && st<=i)
{
nr1[v[st]]--;
if(nr1[v[st]]==0) cnt1--;
st++;
}
while(cnt2>=l && dr<=i)
{
nr2[v[dr]]--;
if(nr2[v[dr]]==0) cnt2--;
dr++;
}
nr_subsecv+=dr-st;
}
out << nr_subsecv;
return 0;
}