Pagini recente » Cod sursa (job #1671415) | Cod sursa (job #2817272) | Cod sursa (job #3036417) | Cod sursa (job #1333251) | Cod sursa (job #2081312)
/// OrangeWarrior #1
#include<bits/stdc++.h>
using namespace std;
ifstream f("secv5.in");
ofstream g("secv5.out");
long long n,a,b,nr;
bool ok=0,ok2=0;
unsigned int v[(1<<20)+3];
long long secv(int b)
{
unordered_map < unsigned , int > m;
long long nr=0,i=1,j=1;
int nrdif=0;
for(i=1; i<=n; i++)
{
if(m[v[i]]==0)
++nrdif;
m[v[i]]++;
while(nrdif>b)
{
if(m[v[j]]==1)
--nrdif;
m[v[j]]--;
j++;
}
nr+=(i-j+1);
}
return nr;
}
int main()
{
f>>n>>a>>b;
for(int i=1;i<=n;++i)
f>>v[i];
g<<secv(b)-secv(a-1);
return 0;
}