比赛 |
20240913练习 |
评测结果 |
AAAAAAAAAA |
题目名称 |
牛宫 |
最终得分 |
100 |
用户昵称 |
健康铀 |
运行时间 |
2.610 s |
代码语言 |
C++ |
内存使用 |
3.76 MiB |
提交时间 |
2024-09-13 21:07:11 |
显示代码纯文本
#include <bits/stdc++.h>
#pragma GCC optimize(2)
using namespace std;
long long a[201][201],sum[201][201];
inline int read()
{
int k=0,f=1;
char c=getchar();
for(;!isdigit(c);c=getchar()) if(c=='-') f=-1;
for(;isdigit(c);c=getchar()) k=(k<<1)+(k<<3)+(c&15);
return k*f;
}
int main(){
freopen("long.in","r",stdin);
freopen("long.out","w",stdout);
long long ans=0,z=0;
int m,n,i,j,x,y;
cin>>n>>m;
for (i=1;i<=n;i++){
for (j=1;j<=m;j++){
a[i][j]=read();
sum[i][j]=sum[i][j-1]+sum[i-1][j]-sum[i-1][j-1]+a[i][j];
}
}
for(i=1;i<=n;i++){
for(j=1;j<=m;j++){
for(x=i;x<=n;x++){
for(y=j;y<=m;y++){
if((!(sum[x][y]+sum[i-1][j-1]-sum[x][j-1]-sum[i-1][y]<=0))&&(z=(long long)(x-i+1)*(y-j+1))>=ans) {
ans=z;
}
}
}
}
}
cout<<ans<<endl;
return 0;
}