洛谷B3658[语言月赛202209]口算练习程序报错怎么改?

c++程序报错

#include <bits/stdc++.h>
using namespace std;
const int N=1e3+10;
int a[N][N];
int n,k,t,maxx=-N,maxy=-N;
bool pd(int x,int y){
    int mx=-N,my=-N,mxy=-N;
    for(int i=1;i<=maxx;i++)
    {
        for(int j=1;j<=maxy;j++)
        {
            int k=(i-x)*(i-x)+(j-y)*(j-y);
            if(mxy<k)
            {
                mxy=k;
                mx=i,my=j;
            }
        }
    }
    return a[mx][my]>1;
}
int main()
{

    cin>>n>>k>>t;
    for(int i=1;i<=n;i++)
    {
        int x,y;
        cin>>x>>y;
        a[x][y]++;
        maxx=max(maxx,x);
        maxy=max(maxy,y);
    }
    for(int i=1;i<=k;i++)
    {
        int x,y;
        cin>>x>>y;
        a[x][y]++;
    }
    int sum=0;
    for(int i=1;i<=t;i++)
    {
        int x,y;
        cin>>x>>y;
        if(pd(x,y)==1) sum++;
    }
    cout<<sum;
    return 0;
}

报错内容截图https://img-mid.csdnimg.cn/release/static/image/mid/ask/425305790096191.png

你的题目是什么
这里输入的x是-1,而你试图访问数组下标-1,当然出错了

img