1 条题解

  • 0
    @ 2026-1-30 18:47:58
    #include <iostream>
    using namespace std;
    
    int main() {
        int n;                        // 投票的总数量
        // [1] 输入投票总数n
        cin >> n;
        int arr[101] = {0};           // 存储每个候选人的票数(编号1~100,数组大小101)
    
        // [2] 遍历所有投票,统计每位候选人的票数
        for (int i = 0; i < n; ++i) {
            int num;
            cin >> num;
            arr[num]++;               // 对应候选人票数累加
        }
    
        int max_votes = 0;            // 记录最高票数
        int result = 0;               // 记录最终当选的候选人编号
        // [3] 遍历所有候选人(编号1~100),找到票数最多且编号最大的候选人
        for (int i = 1; i <= 100; ++i) {
            // [4] 若当前候选人票数更高,或票数相同但编号更大,则更新结果
            if (arr[i] > max_votes || (arr[i] == max_votes && i > result)) {
                max_votes = arr[i];
                result = i;
            }
        }
    
        // [5] 输出当选的候选人编号
        cout << result << endl;
    
        return 0;
    }
    
    • 1

    信息

    ID
    1188
    时间
    1000ms
    内存
    256MiB
    难度
    2
    标签
    递交数
    1
    已通过
    1
    上传者