Pagini recente » Cod sursa (job #2296878) | Cod sursa (job #1956699) | Cod sursa (job #626581) | Cod sursa (job #3226493) | Cod sursa (job #2441576)
#include <iostream>
#include <fstream>
#include <deque>
#include <map>
using namespace std;
ifstream f("secv5.in");
ofstream g("secv5.out");
unsigned int n,l,u,a[1<<21];
long long Count(unsigned int x)
{
unsigned int i,nr=0;
long long sol=0;
deque <int> dq;
map <unsigned int,unsigned int> mp;
for(i=1;i<=n;i++)
{
if(mp[a[i]]==0)
{
nr++;
}
dq.push_back(a[i]);
mp[a[i]]++;
while(nr>x)
{
mp[dq.front()]--;
if(mp[dq.front()]==0)
{
nr--;
}
dq.pop_front();
}
sol=sol+dq.size();
}
return sol;
}
int main()
{
unsigned int i;
f>>n>>l>>u;
for(i=1;i<=n;i++)
{
f>>a[i];
}
g<<Count(u)-Count(l-1);
return 0;
}