Pagini recente » Cod sursa (job #663936) | Cod sursa (job #1060965) | Cod sursa (job #2793057) | Cod sursa (job #1061545) | Cod sursa (job #1825830)
#include <fstream>
#include <unordered_map>
#define DIM (1<<20)+5
#define M 681253
#define uint unsigned
using namespace std;
int n,l,u;
uint v[DIM];
long long countSeq(int len) {
int j=1;
long long ans=0;
unordered_map<uint,int> h;
for(int i=1;i<=n;i++) {
h[v[i]]++;
while(h.size()>len) {
h[v[j]]--;
if(h[v[j]]==0)
h.erase(v[j]);
j++;
}
ans+=1LL*(i-j+1);
}
return ans;
}
int main()
{
ios_base::sync_with_stdio(false);
ifstream fin("secv5.in");
ofstream fout("secv5.out");
fin>>n>>l>>u;
for(int i=1;i<=n;i++)
fin>>v[i];
fout<<countSeq(u)-countSeq(l-1);
return 0;
}