容斥原理的简单应用
#include <bits/stdc++.h>
using namespace std;
#define maxn 1005
int d[maxn][maxn];
int main()
{
int l,w;
cin>>l>>w;
memset(d,0,sizeof(d));
for (int i=1;i<=l;i++){
for (int j=1;j<=w;j++){
cin>>d[i][j];
d[i][j]=d[i][j]+d[i-1][j]+d[i][j-1]-d[i-1][j-1];
}
}
int a,b;
cin>>a>>b;
int ans=0;
for (int i=a;i<=l;i++){
for (int j=b;j<=w;j++){
ans=max(ans, d[i][j]-d[i-a][j]-d[i][j-b]+d[i-a][j-b] );
}
}
cout<<ans<<endl;
return 0;
}