Description
一块N*M的矩形空地。空地中每个格子都有自己的海拔高度。选择一个矩形区域建设宫殿,宫殿的平均海拔在海平面之上,而且希望宫殿尽量大,请问宫殿最后会有多大?
Input Format
第一行为N和M。之后N行,每行M个数,描述的空地的海拔。
Output Format
输出一行,表示宫殿最大面积。
Sample Input
3 2
4 0
-10 8
-2 -2
Sample Output
4
Data Limit :N,M≤100;
二维前缀和公式:s[i][j] = s[i-1][j] + s[i][j-1] - s[i-1][j-1] + x;
CODE :
#include <bits/stdc++.h>
using namespace std;
long long s[109][109];
int n,m;
long long ans;
int main()
{
cin>>n>>m;
for (int i = 1; i <= n; i++)
for (int j = 1; j <= m; j++)
{
int x;
cin>>x,
s[i][j] = s[i-1][j] + s[i][j-1] - s[i-1][j-1] + x; //计算前缀和(第一步)
}
long long i1,i2,j1,j2; //我也不知道为什么全要玄学开long long
for (i1 = 1; i1 <=