Pagini recente » Cod sursa (job #446642) | Cod sursa (job #3223323) | Cod sursa (job #1168172) | Cod sursa (job #2735735) | Cod sursa (job #3270434)
#include <fstream>
#include <map>
using namespace std;
ifstream cin("secv5.in");
ofstream cout("secv5.out");
int v[1100005];
map <int, int> m;
int main()
{
int n, l, u, x=0, y=-1, cnt=0, rez=0;
cin>>n>>l>>u;
for(int i=0; i<n; i++)
{
cin>>v[i];
}
while(y<n-1)
{
if(m[v[y+1]]==0)
{
cnt++;
if(cnt<=u)
{
if(l<=cnt)
rez++;
y++;
m[v[y]]++;
}
else
{
if(m[v[x]]==1)
cnt--;
m[v[x]]--;
x++;
}
}
else
{
y++;
m[v[y]]++;
}
}
cout<<rez+n-x+1;
return 0;
}