ZZ1460:求序列的最大值和最小值

本地运行没有出错,担提交到题库时提示:程序运行错误,请确认指针使用是否存在异常,数组访问是否越界。
不知道是哪里出问题,求题库解答员指点。

#include<iostream>
#include<cmath>
using namespace std;
long long a[100000000];
void paixu(long long b[100000000],long long start,long long end)
{
    long long temp,i=start,j=end,mid;
    
    mid=b[(i+j)/2];
    do
    {
        while(b[i]<mid)
        {
            i++;
        }
        while(b[j]>mid)
        {
            j--;
        }
        if(i<=j)
        {
            temp=b[j];
            b[j]=b[i];
            b[i]=temp;
            i++;
            j--;
        }
    }while(i<=j);
    if(start<j)
    {
        paixu(b,start,j);
    }
    if(end>i)
    {
        paixu(b,i,end);
    }
}
int main()
{
    long long n,i;
    
    cin>>n;
    for(i=0;i<n;i++)
    {
        cin>>a[i];
    }
    paixu(a,0,n-1);
    cout<<a[0]<<" "<<a[n-1];
    return 0;
}



应该是你的数组申请的太大了,long long a[100000000]这里是800000000个字节,也就是762M左右的内存,题库上应该是不允许你用这么大的内存。
动态申请内存就可以了啊:

long long *a;
cin >> n;
a = new long long[n];

//最后释放内存
delete[] a; 
a = 0;