failing 2 testcases
Code:
#include<bits/stdc++.h>
using namespace std;
int main(){
vectorv1;
vectorv2;
long int n;
cin>>n;
for(long int i=0;i<n;i++){
int temp;
cin>>temp;
v1.push_back(temp);
}
long long int sum =0;
for(long int i=0;i<n;i++)
{
auto itr = find(v2.begin(),v2.end(),v1[i]);
if(itr == v2.end()){
v2.push_back(v1[i]);
}
else{
for(long int k=1;k<=v2.size();k++){
sum = sum + ((k*(v2.size()+1-k))%1000000009);
sum = sum%(1000000009);
}
v2.clear();
i--;
}
}
for(long int k=1;k<=v2.size();k++){
sum = sum + ((k*(v2.size()+1-k))%1000000009);
sum = sum%(1000000009);
}
cout<<(sum%(1000000007))<<"\n";
v2.clear();
return 0;
}