什么叫c++数组下标的类型“int[int]”无效?

#include<bits/stdc++.h>
#define maxn 1010
using namespace std;
int n,x[maxn],y[maxn],sb=0,m[10000],b[10000];
int main(){
    while(scanf("%d",&n) == 1 &&n)
    {
        for(int i = 0; i < n; i++) scanf("%d",&x[i]);
        for(;;){
            int a=0,b=0;
            for(int i = 0; i < n; i++){
              scanf("%d",&y[i]);
              if(x[i] == y[i]) a++;
            } 
            if(y[0] == 0) break;
            for(int d = 1; d <= 9; d++){
            int A=0,B=0;
            for(int i = 0; i < n; i++){
                if(x[i] == d) A++;
                if(y[i] == d) B++;
            }
            if(A < B) b += A;
            else b += B;
            }
            b[10000]= a;
            m[10000]=b-a;
        }
         printf("Game %d:\n",++sb);
         for( int i=0;i<= 10000;i++){
          printf("     (%d,%d)\n",b[i],m[i]);
      }
    }
    return 0;
}

这个程序在DEVc++里运行说数组下标的类型“int[int]”无效,求大神如何

 

我在做洛谷UVA340,麻烦大神帮我看一下改程序

 b[10000]= a;
 m[10000]=b-a;

数组越界

m[10000],b[10000]只能存放m[0]-m[9999]和b[0]-b[9999],你的代码中存在大量数组越界