Pagini recente » Cod sursa (job #137588) | Cod sursa (job #1916504) | Cod sursa (job #1394376) | Cod sursa (job #2193999) | Cod sursa (job #2286997)
#include <bits/stdc++.h>
using namespace std;
int L,U,n,a[1048600];
unordered_map <int,int> M;
queue <int> q;
long long solve(int x)
{int i, nd=0;
long long maxl=0;
while (!q.empty())
q.pop();
M.clear();
for (i=1;i<=n;i++)
{
q.push(a[i]);
if (++M[a[i]]==1)nd++;
while (nd>x&&!q.empty())
{
if (--M[q.front()]==0){nd--;M.erase(q.front());}
q.pop();
}
maxl+=q.size();
// cout<<maxl<<" ";
}
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];
out<<solve(U)-solve(L-1)<<"\n";
out.close();
in.close();
return 0;
}