0773 - Max Ap 1

De la Universitas MediaWiki

Rezolvare

n, m = map(int, input().split())  # citim n si m de la tastatura
matrix = []  # initializam matricea
for i in range(n):
    row = list(map(int, input().split()))  # citim o linie a matricei
    matrix.append(row)  # adaugam linia la matrice

counts = {}  # initializam un dictionar pentru a numara aparitiile elementelor
max_count = 0  # initializam numarul maxim de aparitii la 0
max_elem = 0  # initializam elementul cu cele mai multe aparitii la 0

for row in matrix:
    for elem in row:
        if elem in counts:
            counts[elem] += 1  # incrementam numarul de aparitii pentru un element existent
        else:
            counts[elem] = 1  # adaugam un element nou in dictionar cu numarul de aparitii initializat la 1
        if counts[elem] > max_count or (counts[elem] == max_count and elem > max_elem):
            max_count = counts[elem]  # actualizam numarul maxim de aparitii
            max_elem = elem  # actualizam elementul cu cele mai multe aparitii

print(max_elem)  # afisam elementul cu cele mai multe aparitii