Я предлагаю такой алгоритм:
1. Взять динамическую структуру данных, позволяющую быстро добавлять и искать элементы (дерево, хеш-таблица).
2. К каждому элементу добавить счетчик повторений.
3. Поддерживать две глобальных переменных: ID_MAX и Count_MAX.
4. Сравнивать Count_MAX с очередным обновленным счетчиком и переприсваивать ID_MAX и Count_MAX, если обновленный счетчик превысит Count_MAX.
5, Вывести ID_MAX и Count_MAX.
P.S. А зачем здесь двумерный массив?