neptune-gruser 2021-12-01 15:49 采纳率: 100%
浏览 40
已结题

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;
}



  • 写回答

1条回答 默认 最新

  • 关注

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

    long long *a;
    cin >> n;
    a = new long long[n];
    
    //最后释放内存
    delete[] a; 
    a = 0;
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 12月9日
  • 已采纳回答 12月1日
  • 创建了问题 12月1日

悬赏问题

  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容