Pagini recente » Cod sursa (job #22138) | Cod sursa (job #1037684) | Cod sursa (job #607219) | Cod sursa (job #1853408) | Cod sursa (job #2286992)
#include <bits/stdc++.h>
using namespace std;
int L,U,n,a[1048600];
unordered_map <int,int> M;
queue <int> q;
int solve(int x)
{int i, nd=0,maxl=0;
while (!q.empty())
{M[q.front()]--;q.pop();}
for (i=1;i<=n;i++)
{
q.push(a[i]);
if (++M[a[i]]==1)nd++;
while (nd>x)
{
if (M[q.front()]--==1)nd--;
q.pop();
}
maxl+=q.size();
}
return maxl;
}
int main()
{int i;
ifstream in("secv5.in");
ofstream out("secv5.out");
in>>n>>L>>U;
for (i=1;i<=n;i++) in>>a[i];
int x=solve(U)-solve(L-1);
out<<x<<"\n";
out.close();
in.close();
return 0;
}