Pagini recente » Cod sursa (job #2295623) | Cod sursa (job #1584161) | Cod sursa (job #1450575) | Cod sursa (job #1602814) | Cod sursa (job #2863615)
#include <fstream>
#include <unordered_map>
using namespace std;
ifstream fin("secv5.in");
ofstream fout("secv5.out");
int n,l,u;
unsigned int v[1<<20+1];
unordered_map < unsigned int , int > ap;
long long secv(int k)
{
ap.clear();
long long s=1,cnt=0;
for(int d=1;d<=n;++d)
{
ap[v[d]]++;
while(ap.size()>k)
{
ap[v[s]]--;
if(ap[v[s]]==0)
ap.erase(v[s]);
s++;
}
cnt+=d-s+1;
}
return cnt;
}
int main()
{
fin >> n >> l >> u;
for(int i=1;i<=n;++i)
fin >> v[i];
fout << secv(u)-secv(l-1);
return 0;
}