147822025-02-02 12:48:16PKBKert (75 pont)cpp17Accepted 75/75217ms5756 KiB
#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

int main() {

    int M, N, P;
    cin >> M >> N >> P;

    int majority_count = 0;
    int max_streak = 0;

    for (int i = 0; i < M; i++) {
        vector<int> row(N);
        vector<int> freq(250001, 0);

        int current_color, max_freq = 0, total = 0;
        int local_max_streak = 1, streak = 1;

        cin >> row[0];
        freq[row[0] % 250001]++;
        current_color = row[0];
        total++;

        for (int j = 1; j < N; j++) {
            cin >> row[j];
            freq[row[j] % 250001]++;
            total++;

            if (row[j] == row[j - 1]) {
                streak++;
                local_max_streak = max(local_max_streak, streak);
            } else {
                streak = 1;
            }
        }

        for (int k = 0; k <= 250000; k++) {
            if (freq[k] > total / 2) {
                majority_count++;
                break;
            }
        }

        max_streak = max(max_streak, local_max_streak);
    }

    cout << majority_count << "\n" << max_streak << "\n";

    return 0;
}
SubtaskSumTestVerdictTimeMemory
base75/75
1Accepted0/03ms1360 KiB
2Accepted0/0200ms5204 KiB
3Accepted4/43ms1360 KiB
4Accepted4/43ms1364 KiB
5Accepted4/43ms1360 KiB
6Accepted4/43ms1364 KiB
7Accepted4/43ms1364 KiB
8Accepted4/43ms1332 KiB
9Accepted4/43ms1556 KiB
10Accepted4/47ms1360 KiB
11Accepted6/64ms1364 KiB
12Accepted6/612ms1360 KiB
13Accepted6/627ms1616 KiB
14Accepted6/6188ms4804 KiB
15Accepted6/6184ms5112 KiB
16Accepted6/6217ms5756 KiB
17Accepted7/7119ms3520 KiB