#include <iostream>
#include <vector>
using namespace std;

int main() {
    int n, m;
    cin >> n >> m;
    vector<vector<int>> matrix(n, vector<int>(m));
    // 读取矩阵元素
    for (int i = 0; i < n; ++i) {
        for (int j = 0; j < m; ++j) {
            cin >> matrix[i][j];
        }
    }
    vector<int> col_sums(m, 0);
    // 计算每列的和
    for (int i = 0; i < n; ++i) {
        for (int j = 0; j < m; ++j) {
            col_sums[j] += matrix[i][j];
        }
    }
    int max_col_sum = 0;
    int max_col_index = m - 1;
    // 找出最大的列和及最右的列索引
    for (int j = m - 1; j >= 0; --j) {
        if (col_sums[j] >= max_col_sum) {
            max_col_sum = col_sums[j];
            max_col_index = j;
        }
    }
    int max_value = 0;
    int count = 0;
    // 在第一轮胜出的列中找出最大元素及数量
    for (int i = 0; i < n; ++i) {
        if (matrix[i][max_col_index] > max_value) {
            max_value = matrix[i][max_col_index];
            count = 1;
        } else if (matrix[i][max_col_index] == max_value) {
            count++;
        }
    }
    cout << max_value << " " << count << endl;
    return 0;
}

这和他的代码完全不一样(豆包生成)

U2FsdGVkX18pdfqkdOQZ96w5lo0zJjWBCOuIquAaO1E=

2025/1/21 08:55
1396652