SER9
TEST CASE 2
INPUT
INPUT
10
86 5 34 64 56 60 81 77 36 41
OUTPUT1
#include<bits/stdc++.h>
unsigned char search(unsigned long *b,int l,int r,unsigned long a);
unsigned char occur(unsigned long *a,int l,int r,unsigned long n);
using namespace std;
int main()
{
ios::sync_with_stdio(false);
int N;
cin>>N;
int arr[N];
unordered_map<int,int> M;
for(int i=0;i<N;i++)
{
cin>>arr[i];
auto it=M.find(arr[i]);
if(it==M.end())
M.insert(make_pair(arr[i],1));
else
it->second++;
}
long long int final_size=M.size(),ans=0;
M.clear();
for(int i=0,start=0;i<N;start++)
{
int j;
for(j=i;j<N && M.size()!=final_size;j++,i++)
{
auto it=M.find(arr[i]);
if(it==M.end())
M.insert(make_pair(arr[j],1));
else
it->second++;
}
if(M.size()==final_size)
ans+=N-j+1;
else
break;
auto it=M.find(arr[start]);
if(it->second==1)
M.erase(it);
else
it->second--;
}
cout<<ans;
}
its not working
ReplyDelete