Pagini recente » Cod sursa (job #2038629) | Cod sursa (job #1653073) | Cod sursa (job #62753) | Cod sursa (job #103063) | Cod sursa (job #2181906)
#include <iostream>
#include <map>
#include <unordered_map>
#include <vector>
#include <algorithm>
#include <fstream>
#include <deque>
using namespace std;
#define nmax (1<<20)+100
ifstream f("secv5.in");
ofstream g("secv5.out");
int n,l,u,op,elem,mn;
unsigned int vect[nmax],freq[nmax],curent,last,hashes[nmax];
unordered_map<long long,int>Ma,Ma2;
long long withlen(int lim,unordered_map<long long,int>Mah)
{
long long ans=0;
int j=1;
for (int i=1; i<=n; ++i)
{
++Mah[vect[i]];
while (Mah.size()>lim)
{
Mah[vect[j]]--;
if (Mah[vect[j]]==0)
Mah.erase(vect[j]);
++j;
}
ans+=(i-j+1);
}
return ans;
}
int main()
{
f>>n>>l>>u;
for (int i=1; i<=n; ++i)
f>>vect[i];
g<<withlen(u,Ma)-withlen(l-1,Ma2);
return 0;
}