我正在解决这个问题。 我写的代码,并收到错误的答案为10个测试用例和纠正6.我检查了约束和因为它们超出int的范围,因此我长长整型替换INT。 9 个测试用例通过,但其他 7 个现在显示分段错误。

这可能是什么原因?

#include <iostream>
using namespace std;

int main()
{
    long long int n,m; 
    cin>>n>>m; 
    long long int arr[n]={0}; 
    long long int a,b,k; 
    long long int maxi=0;

    while(m--)
    {
        cin>>a>>b>>k;

        for(long long int i=a-1; i<b; i++)
        {
            arr[i]+=k;
        }
    }

    for(long long int i=0; i<n; i++)
    {
        if(maxi<arr[i]){maxi=arr[i];}
    }

    cout<<maxi;

    return 0;
}

#1楼 票数:2

主要问题是

long long int arr[n]={0}; 

这不是有效的标准 C++,如果数组太大,它将不适合堆栈,您需要动态分配您的数组,最好使用std::vector ,像这样

std::vector<long long int> arr{};
arr.resize(n);

除此之外,您可能应该检查每个数组访问是否在边界内。

#2楼 票数:0

您可以尝试动态分配

long long int *arr = new long long int[n];

完成后不要忘记释放内存

delete []arr;

  ask by user10325089 translate from so

未解决问题?本站智能推荐:

1回复

使用Structures和pThreads时出现分段错误

我一直在使用一个程序,该程序将读取多个文本文件,记录其中的单词数,并将所有单词和它们的出现频率写入文件。 但是,我在代码中的某处遇到了分段错误。 我尝试使用Valgrind等工具来帮助我调试它,但是它仅指向主循环中我说int i = 0的位置。 我为发布代码的大部分而表示歉意,但是我花了数
1回复

将整数存储为int数组时出现C++分段错误错误

我有一个分段错误错误,我不知道为什么:我有这个代码:entierlong.hconst int MAXCHIFFRES = 1000;typedef int tabEnt[MAXCHIFFRES];struct EntierLong{ bool Negatif; tabEnt Chiff
1回复

到达for循环时出现奇怪的分段错误

我有一些由Assembly模块调用的C ++代码。 我的代码应该按指针对数组进行排序。 我的两个问题位于第二个for-loop : 我注释掉了提示,当程序接近我的代码中的第二个for-loop ,而不是仅输出数组的第一个for-loop时,程序立即出现了段错误。 我能够看到第一个f
1回复

访问结构时出现分段错误

该程序一直运行到检查用户输入的名称为止。 当您输入要在从完整的客户信息文件中导入的结构体数组中搜索的名称时,它将返回分段故障核心转储。 这让我感到困惑。
2回复

当我的数组太大时出现分段错误

编辑:似乎错误只是 9,999,999,999,999 对于数组来说太大了。 我在我的代码上收到此错误“程序收到信号 sigsegv 分段错误”。 基本上我的代码是做一个整数分解,这个练习可以在 codeabbeyhere上看到。 基本上我会收到像 1000 这样的输入并将它们输出为它们的因子的乘积
1回复

ENTERING循环时出现分段错误

进入for循环时,C ++中出现段错误。 但是我的意思是输入时。 这是我正在运行的代码: 我在终端上得到的输出是: 有人可以向我解释我在这里想念什么吗? 它似乎是非常基础的或非常复杂的C ++东西...
2回复

c++中使用指针的数组:访问返回的数组时出现分段错误

我是C ++的新手,正在尝试使用指向指针的指针构建3维数组。 我确信这样做有更有效的方法,但是我现在正在尝试理解指针。 作为示例代码,我最初有以下代码,可以很好地工作,分配,初始化和释放内存。 我想通过将上面的代码分成几部分来提高赌注,以便可以在程序的main()函数中使用初始化的数组
4回复

打印数组副本时出现分段错误

以下程序在打印v2会发生段错误,但在阵列复制期间不会发生。 有谁知道为什么? 编辑 :如果我复制ints数组而不是doubles ,代码不会崩溃。