HackerEarth Substrings problem solution YASH PAL, 31 July 2024 In this HackerEarth Substrings problem solution You have a string S, but you like only special strings. So, you have to calculate the total number of special substrings in S.A string T, of length L, is called special string, if either of the following property holds:All characters of the string T are same. for example, aaaThe string has an odd length (i.e, L is odd) and all characters of T are same except the middle character, for example, aabaa.Count the total number of special substrings in S.HackerEarth Substrings problem solution.#include<bits/stdc++.h>using namespace std;//Constants:#define N 1000005#define ll long long#define pb push_back#define mp make_pair#define fi first#define se second#define pritnf printfll le[N];ll ri[N];int main(){ ll t,i=0,j,k,x,y,z,count=0,p,flag=0,ans=0,sum=0,l,n,m,max1,min1,pos,tmp,q; //string s; t=1; while(t--) { string s; cin >> s; l=s.length(); ans=0; //condition 1 count=1; for(i=1;i<l;i++) { if(s[i]==s[i-1]) count++; else { ans+=count*(count+1)/2; count=1; } } ans+=count*(count+1)/2; //printf("%lld ",ans); //condition 2 count=1; for(i=1;i<l;i++) { if(s[i]==s[i-1]) count++; else { le[i]=count; count=1; } } count=1; for(i=l-2;i>=0;i--) { if(s[i]==s[i+1]) count++; else { ri[i]=count; count=1; } } for(i=1;i<l-1;i++) { p=min(le[i],ri[i]); if(s[i-1]==s[i+1] && s[i]!=s[i+1]) ans+=p; //printf("%lld ",ans); } printf("%lldn",ans); } return 0;} coding problems solutions