Pagini recente » Cod sursa (job #30819) | Cod sursa (job #1181554) | Cod sursa (job #1448906) | Cod sursa (job #354499) | Cod sursa (job #1815311)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("secv5.in");
ofstream fout("secv5.out");
unordered_map<unsigned int, int>H1, H2;
unsigned int v[1200000];
long long solution;
int main()
{
int N, L, U;
fin >> N >> L >> U;
for(int i = 1; i <= N; i ++)
{
fin >> v[i];
}
int j = 1;
for(int i = 1; i <= N; i ++)
{
H1[ v[i] ] ++;
while(H1.size() > L - 1)
{
H1[ v[j] ] --;
if(H1[v [j] ] == 0)
{
H1.erase(v[j]);
}
j ++;
}
solution -= i - j + 1;
}
j = 1;
for(int i = 1; i <= N; i ++)
{
H2[ v[i] ] ++;
while(H2.size() > U)
{
H2[ v[j] ] --;
if(H2[v [j] ] == 0)
{
H2.erase(v[j]);
}
j ++;
}
solution += i - j + 1;
}
fout << solution;
return 0;
}