➤ Problem Link : 777C. Alyona and Spreadsheet
✅ C++ Solution :
#include<bits/stdc++.h> using namespace std; #define ll long long int int main() { int n,m,k,l,r; cin>>n>>m; ll arr[n+1][m+1]; vector<ll> dp[n+1]; for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) cin>>arr[i][j]; vector<ll> v(m+1); dp[1]=v; for(int i=0;i<m;i++) dp[1][i]=1; for(int i=2;i<=n;i++) { vector<ll> v(m); dp[i]=v; for(int j=1;j<=m;j++) { if(arr[i][j]>=arr[i-1][j]) dp[i][j-1]=dp[i-1][j-1]; else dp[i][j-1]=i; } // sort(dp[i].begin(),dp[i].end()); } for(int i=1;i<=n;i++) { sort(dp[i].begin(),dp[i].end()); } cin>>k; while(k--) { cin>>l>>r; if(dp[r][0]<=l) 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!!