Pagini recente » Cod sursa (job #2248695) | Cod sursa (job #542112) | Cod sursa (job #1871801) | Cod sursa (job #3234383) | Cod sursa (job #2094988)
#include <fstream>
#include <unordered_map>
using namespace std;
ifstream f ("secv5.in");
ofstream g ("secv5.out");
int n,l,u,v[1<<20+1];
unordered_map <int,int> usu;
long long solve(int k)
{
usu.clear();
long long act=1,sol=0;
for(int i=1;i<=n;++i)
{
++usu[v[i]];
while(usu.size()>k)
{
--usu[v[act]];
if(usu[v[act]]==0) usu.erase(v[act]);
++act;
}
sol+=i-act+1;
}
return sol;
}
int main()
{
f>>n>>l>>u;
for(int i=1;i<=n;++i) f>>v[i];
g<<solve(u)-solve(l-1); //cate secvente au cel mult k elem distincte
return 0;
}