Pagini recente » Cod sursa (job #2016047) | Cod sursa (job #2401263) | Cod sursa (job #151772) | Cod sursa (job #3239093) | Cod sursa (job #3280003)
#include <fstream>
#include <map>
using namespace std;
ifstream fin("secv5.in");
ofstream fout("secv5.out");
int n, x, y, i, a[1500000];
int calcul(int val)
{
int l=1, cnt=0;
long long ans=0;
map <int, int> mp;
for(int r=1; r<=n; r++)
{
mp[a[r]]++;
if(mp[a[r]]==1)
{
cnt++;
while(cnt>val && l<=r)
{
mp[a[l]]--;
if(mp[a[l]]==0)
cnt--;
l++;
}
}
ans+=r-l+1;
}
return ans;
}
signed main()
{
fin>>n>>x>>y;
for(i=1; i<=n; i++)
fin>>a[i];
fout<<calcul(y)-calcul(x-1);
return 0;
}