最大代码数量chef.Runtime错误(SIGSEGV)

时间:2015-06-02 17:22:19

标签: c++

您好我开始做代码厨师初学者问题并且陷入了困境。我尝试通过全局声明数组来减少堆栈内存,但这也不起作用。这是我的代码

#include<iostream>
using namespace std;
#define max 101

int main()
{        
    int t,n;
    cin>>t;
    while(t--)
    {
        int a[max];
        int c[max]={0};

        cin>>n;
        for(int i=0;i<n;i++)
        {
            cin>>a[i];
        }
        for(int j=0;j<n;j++)
        {
            c[a[j]]++;
        }
        int temp=0;
        int x=0;
        for(int k=0;k<n;k++)
        {
            if(c[k]>temp)
            {
                temp=c[k];
                x=k;                    
            }
        }
        cout<<x<<" "<<temp<<endl;            
    }        
}

1 个答案:

答案 0 :(得分:0)

您可能需要一个不限制输入值的数据结构,或只是更改算法。

使用std::map<int, int>代替c计算每个数字的出现次数,或者只排序a以汇总相同的值并计算。