Pagini recente » Cod sursa (job #948044) | Cod sursa (job #2746046) | Cod sursa (job #307834) | Cod sursa (job #1889769) | Cod sursa (job #1565459)
#include <fstream>
#include <unordered_map>
using namespace std;
int n;
unsigned int a[1047552];
unordered_map<unsigned int, unsigned int> hashMap;
long long int nrSecv(int upper)
{
hashMap.clear();
long long int secv = 0, j = 0;
for(int i = 0; i < n; i++)
{
hashMap[a[i]]++;
while(hashMap.size() > upper)
{
hashMap[a[j]]--;
if(!hashMap[a[j]])
hashMap.erase(a[j]);
j++;
}
secv += (i - j + 1);
}
return secv;
}
int main()
{
int l, u;
ifstream in("secv5.in");
in >> n >> l >> u;
for(int i = 0; i < n; i++)
in >> a[i];
in.close();
ofstream out("secv5.out");
out << nrSecv(u) - nrSecv(l - 1);
out.close();
}