#include <cstring>
#include <iostream>
using namespace std;
int a[1050][1050],M,N,m,n,k,x,y,tm,tn,sum;
int main(){
memset(a, 0, sizeof(a));
cin>>M>>N>>m>>n>>k;
for (int i=1; i<=k; i++) {
cin>>x>>y;
a[x][y]=1;
}
for (int i=1; i<=M; i++) {
for (int j=1; j<=N; j++) {
a[i][j]=a[i][j-1]+a[i][j];
}
}
for (int i=1; i<=M; i++) {
for (int j=1; j<=N; j++) {
a[i][j]=a[i-1][j]+a[i][j];
}
}
tm=m;
tn=n;
if(tm>M){
tm=M;
}
if(tn>N){
tn=N;
}
for (int i=tm; i<=M; i++) {
for (int j=tn; j<=N; j++) {
sum=max(sum,a[i][j]-a[i-tm][j]-a[i][j-tn]+a[i-tm][j-tn]);
}
}
swap(m, n);
tm=m;
tn=n;
if(tm>M){
tm=M;
}
if(tn>N){
tn=N;
}
for (int i=tm; i<=M; i++) {
for (int j=tn; j<=N; j++) {
sum=max(sum,a[i][j]-a[i-tm][j]-a[i][j-tn]+a[i-tm][j-tn]);
}
}
cout<<sum;
}
网友评论