请大佬指点下:pta段错误是怎么回事啊?

图片说明图片说明
如图所示
7-5 求整数序列中出现次数最多的数 (15 分)
本题要求统计一个整型序列中出现次数最多的整数及其出现次数。
输入格式:输入在一行中给出序列中整数个数N(0 输出格式:在一行中输出出现次数最多的整数及其出现次数,数字间以空格分隔。题目保证这样的数字是唯一的。
输入样例:
10 3 2 -1 5 3 4 3 0 3 2
输出样例:
3 4
代码如下
#include
#include
int main()
{
int i, j, n, a[10000], b[10000]={0};int max=0;
scanf("%d", &n);
for(i = 0; i < n; i++)
scanf("%d", &a[i]);
for(i=0;i<=n-1;i++)
b[a[i]]=b[a[i]]+1;
for(i = 1; i {if(b[i] > max)
{max = b[i];
j = i;}}
printf("%d %d\n", j, max);
return 0;}
数组已经定得足够大了,codeblocks运行没有任何问题,pta却显示段错误?
请各位大佬指点一下。

另外数组设置小一点也是这样。。。。。。

数组设置太大太小都会越,所以在scanf了n之后再声明数组,a[n]这样。希望能帮到你。

最后那个错误了,输出的是那个数,应该是printf("%d %d\n", a[j], max);