0
点赞
收藏
分享

微信扫一扫

计蒜客 蜗牛寻宝 暴力加思维

天涯学馆 2022-06-29 阅读 49

​​传送门​​

直接模拟就行,读准题。

#include<iostream>
#include<cstring>
#include<algorithm>
#include<cstdio>
#include<cstdlib>
#include<queue>
#include<cmath>
#include<cctype>
#include<stack>
#include<map>
#include<string>
#include<cstdlib>
#define ll long long
#define N 100010
using namespace std;
const int maxn = 1000 + 5;
long long a[maxn][maxn];
int main() {
long long n,m;
cin >> n >> m;
for(ll i = 0; i < n; i++)
for(ll j = 0; j < m; j++) {
cin >> a[i][j];
}
long long maxsum=-9999999;
long long sum=0;
ll max1=-1,max2=-1;
for(ll i=0;i<n;i++)
{
sum=a[i][0];
for(ll j=0;j<m-1;j++)
{if(a[i][j]<a[i][j+1])
sum+=a[i][j+1];
else {
//cout<<sum<<endl;

max1=max(sum,max1);
//cout<<max1<<endl;
//ans=sum;
sum=a[i][j+1];
}
}
max1=max(sum,max1);//这里是坑点,如果走到底的话,也要比较一次sum与max1的大小。
maxsum=max(maxsum,max1);

}
//cout<<maxsum<<endl;
for(ll i=0;i<m;i++)
{
sum=a[0][i];
for(ll j=0;j<n-1;j++)
{if(a[j][i]<a[j+1][i])
sum+=a[j+1][i];
else
{
max2=max(max2,sum);
// cout<<max2<<endl;
sum=a[j+1][i];
}

}
max2=max(max2,sum);
maxsum=max(maxsum,max2);

}
cout<<maxsum<<endl;
return 0;
}


举报

相关推荐

0 条评论