/*
 *  Да се напише програма, в която потребителя
 *  веъвежда число N, след което въвежда N-на-брой числа.
 *
 *  Програмата трябва да намири и изведе на екрана
 *  модата на тези числа.
 */
#include <iostream>
using namespace std;

const int NUMBERS_LIMIT = 100;

int main() {

    int count;
    do {
        cout << "Input numbers count [1, " << NUMBERS_LIMIT << "]: ";
        cin >> count;
    } while(count < 1 || count > NUMBERS_LIMIT);

    int numbers[NUMBERS_LIMIT];
    cout << "You will now input " << count << " numbers:" << endl;

    for(int i = 0; i < count; ++i) {
        cin >> numbers[i];
    }

    int longestMode = numbers[0], longestLength = 1;

    for(int i = 0; i < count; ++i) {
        int currentLength = 1;
        int currentMode = numbers[i];

        for(int j = i + 1; j < count; ++j) {
            if(numbers[j] == currentMode) {
                ++currentLength;
            }
        }

        if(currentLength > longestLength) {
            longestMode = currentMode;
        }
    }

    cout << "The mode is " << longestMode << endl;

    return 0;
}
