Pagini recente » Cod sursa (job #2803926) | Cod sursa (job #464272) | Cod sursa (job #2819124) | Cod sursa (job #1480845) | Cod sursa (job #213048)
Cod sursa(job #213048)
#include <stdio.h>
#include <map>
using namespace std;
map <int, int> m;
const int n_max = 1<<20;
int dist, sol, i, n, p, u, l;
int a[n_max];
int main()
{
freopen("secv5.in","r",stdin);
freopen("secv5.out","w",stdout);
scanf("%d %d %d", &n, &l, &u);
for (i =1; i<= n; ++ i)
scanf("%d", &a[i]);
p = 0;
for (i = 1; i <=n; ++ i)
{
++m[a[i]];
if (m[a[i]] == 1)
++dist;
while (dist > u)
{
--m[a[++p]];
if (m[a[p]] == 0)
--dist;
++sol;
}
if (dist >=l && dist <=u)
++sol;
}
printf("%d\n", sol);
return 0;
}