最大数,通过测试用例但 WA

Count of Maximum , Passing Test cases but WA

此代码中出现错误,即使它通过了基本测试用例。但是,它仍然给出了错误的答案。

找不到失败的测试用例,Codechef 最大问题计数的解决方案。我认为部分代码导致某些测试用例失败。

谁能帮我找出这段代码中的错误?

#include <bits/stdc++.h>
using namespace std;

int main()
{
    int k;
    cin >> k;
    for (int j = 0; j < k; j++) 
    {
        int n;
        cin >> n;
        int a[n];
        for (int i = 0; i < n; i++) {
            cin >> a[i];
        }
        int maxCount = 0;
        int number;
        int index = 0;

        for (int i = 0; i < n; i++) 
        {
            int count = 0;
            for (int l = 0; l < n; l++)
            {
                if (a[i] == a[l])
                {
                    count++;
                    if (count > maxCount) 
                    {
                        maxCount = count;
                        index = i;
                    }
                    if (count == maxCount) {
                        (a[i] > a[index]) ? number = a[index] : number = a[i];
                    }
                }
            }
        }
        cout << number << " " << maxCount << endl;
    }
}

您的 number 变量是多余的。您需要跟踪数组中元素的index

也就是说,改变这一行

 (a[i] > a[index]) ? number = a[index] : number = a[i];

(a[i] > a[index]) ? index = index : index = i;

并打印

std::cout << a[index] << " " << maxCount << std::endl;