代码:
#include<bits/stdc++.h>
using namespace std;
int n,a[401][401],sum[401][401],mus[401][401],ans=INT_MIN,t;
int main()
{
cin>>n;
for(int i=1;i<=n;++i) for(int j=1;j<=n;++j)
cin>>a[i][j],sum[i][j]=sum[i-1][j-1]+a[i][j],mus[i][j]=mus[i-1][j+1]+a[i][j];
for(int i=1;i<=n;++i) for(int j=1;j<=n;++j) for(int k=i+1;k<=n;++k)
{
t=j+k-i;
if(t>n) continue;
ans=max(ans,sum[k][t]-sum[i-1][j-1]-mus[k][j]+mus[i-1][t+1]);
}
cout<<ans;
return 0;
}
hack 数据:
1
1
正确结果:
0
上面程序的错误结果:
-2147483648