Submission #1022433

#TimeUsernameProblemLanguageResultExecution timeMemory
1022433MrAndriaMaxcomp (info1cup18_maxcomp)C++14
100 / 100
264 ms21332 KiB
#include <bits/stdc++.h> using namespace std; #define ff first; #define ss second #define pb push_back //#define int long long int n,m,a[1005][1005],mx,dp[1005][1005],b[1005][1005]; int replace(){ for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ b[j][n-i+1]=a[i][j]; } } swap(n,m); mx=-INT_MAX; for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ a[i][j]=b[i][j]; } } // for(int i=1;i<=n;i++){ // for(int j=1;j<=m;j++){ // cout<<a[i][j]<<" "; // } // cout<<endl; // } for(int i=0;i<=n;i++){ for(int j=0;j<=m;j++){ dp[i][j]=-INT_MAX; } } // cout<<endl; for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ dp[i][j]=max(max(dp[i-1][j],dp[i][j-1]),-a[i][j]+i+j); // cout<<dp[i][j]<<" "; mx=max(mx,a[i][j]-i-j+dp[i][j]-1); } // cout<<endl; } // cout<<mx<<endl; return mx; } int main(){ cin>>n>>m; for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ cin>>a[i][j]; } } cout<<max(max(replace(),replace()),max(replace(),replace()))<<endl; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...