样例输出非常离谱
#include <bits/stdc++.h>
using namespace std;
int main(){
int n,m;
cin>>n>>m;
int a[n+1][m+1]={};
char d;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
cin>>d;
a[i][j]=d-'0';
}
}
int b[n+1][m+1]={};
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
b[i][j]=a[i][j]+b[i-1][j]+b[i][j-1]-b[i-1][j-1];
}
}
int max1=0;
for(int c=1;c<=min(n,m);c++){
for(int i=1;i<=n-c+1;i++){
for(int j=1;j<=m-c+1;j++){
int i1=i+c,j1=j+c;
int s=b[i1][j1]-b[i-1][j1]-b[i1][j-1]+b[i][j];
max1=max(max1,s);
}
}
}
cout<<max1;
return 0;
}