Pagini recente » Cod sursa (job #682745) | Cod sursa (job #1954471) | Cod sursa (job #2860744) | Cod sursa (job #1237876) | Cod sursa (job #3280007)
#include <fstream>
#include <map>
using namespace std;
ifstream fin("secv5.in");
ofstream fout("secv5.out");
int n, x, y, i, a[1500005];
long long 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)
{
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;
}