➤ Problem Link : 279C. Ladder
✅ C++ Solution :
#include<bits/stdc++.h> using namespace std; #define ll long long int int main() { int n,m; cin>>n>>m; ll arr[n]; for(int i=0;i<n;i++) cin>>arr[i]; ll next[n],prev[n]; next[n-1]=1; prev[0]=1; for(int i=n-2;i>=0;i--) { if(arr[i+1]>=arr[i]) next[i]=next[i+1]+1; else next[i]=1; } for(int i=1;i<n;i++) { if(arr[i-1]>=arr[i]) prev[i]=prev[i-1]+1; else prev[i]=1; } int l,r; while(m--) { cin>>l>>r; l--; r--; if(next[l]+prev[r] > r-l+1) cout<<"Yes\n"; else cout<<"No\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!!