Pagini recente » Cod sursa (job #737202) | Cod sursa (job #220458) | Cod sursa (job #39842) | Cod sursa (job #365231) | Cod sursa (job #1483495)
#include <fstream>
#include <unordered_map>
using namespace std;
int n;
unsigned int x[1048577];
long long nrsecv(unsigned int lim, unsigned int *a)
{
unordered_map <unsigned int, unsigned int> coada;
int i,inc=0;
long long nrs=0;
for(i=0;i<n;i++)
{
coada[a[i]]++;
while(coada.size()>lim)
{
coada[a[inc]]--;
if(coada[a[inc]]==0)
coada.erase(a[inc]);
inc++;
}
nrs+=i-inc;
}
return nrs;
}
int main()
{
ifstream f("secv5.in");
ofstream g("secv5.out");
int l,i,u;
f>>n>>l>>u;
for(i=0;i<n;i++)
f>>x[i];
g<<nrsecv(u,x)-nrsecv(l-1,x);
return 0;
}