➤ Problem Link : 622C. Not Equal on a Segment
✅ C++ Solution :
#include<bits/stdc++.h>
using namespace std;
#define ll long long int
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
int n,m;
cin>>n>>m;
int arr[n+1];
for(int i=1;i<=n;i++)
cin>>arr[i];
int next[n+1];
next[n]=-1;
for(int i=n-1;i>0;i--)
{
if(arr[i+1]==arr[i])
next[i]=next[i+1];
else
next[i]=i+1;
}
int l,r,x;
while(m--)
{
cin>>l>>r>>x;
if(arr[l]!=x)
cout<<l<<"\n";
else if(next[l]!=-1 && next[l]<=r && arr[next[l]]!=x)
cout<<next[l]<<"\n";
else
cout<<"-1\n";
}
}
Thank you for your patience reading. If you enjoyed this post, I’d be very grateful if you’d help it spread by emailing it to a friend, or sharing it on Whatsapp or Facebook.
😇Happy Learning!!
