在在线网站编译时报错

Compilation Failed

/usr/bin/ld: /tmp/cczbTQiF.o: in function __static_initialization_and_destruction_0(int, int)': file.cpp:(.text+0x263): relocation truncated to fit: R_X86_64_32 against.bss'
/usr/bin/ld: file.cpp:(.text+0x272): relocation truncated to fit: R_X86_64_32 against `.bss'
collect2: error: ld returned 1 exit status
这个报错是在https://www.dooccn.com/cpp/ 这个网站上运行:

#include<iostream>   
using namespace std;
int n,a[105],b[105],g[105],k[105],x,y;
bool dt[10000000][10000000];
int main()
{
    cin>>n;
    for(int i=1;i<=10000000;i++)
    {
        for(int j=1;j<=10000000;j++)
        {
            dt[i][j]=0;
        }
    }
    for(int i=1;i<=n;i++)
        {
            cin>>a[i]>>b[i]>>g[i]>>k[i];
            for(int j=a[i];j<=g[i];j++)
                {
                    for(int q=b[i];q<=b[i];q++)
                        {
                            dt[j][q]=1;
                        }
                }
        }
    cin>>x>>y;
    if(dt[x][y]==1)
    {
        for(int i=1;i<=n;i++)
            {
                if(x>=a[i]&&x<=g[i]&&y>=b[i]&&y<=k[i])
                {
                    cout<<i;
                    return 0;
                }
            }
    }
      cout<<-1;
}

然后这是洛谷的P1003 [NOIP2011 提高组] 铺地毯
请大家帮忙指出错误

bool dt[10000000][10000000];
太大了。
for(int i=1;i<=10000000;i++)
你后面的循环都用了i<=,那么数组应该再+1才行,不然就越界了。