﻿#include <iostream>
#include <string>
using namespace std;

int main()
{
	// Русский язык
	setlocale(LC_ALL, "Rus");

	// Количество элементо в массиве
	int N = 0;
	cout << "Введите количество элементов массива: ";
	cin >> N;

	// Выделение памяти под массив с элементами
	int* arr = new int[N];

	// Самое большое значение среди элементов
	int max_num = INT_MIN;
	// Кличество элементов с самым большим значением
	int max_nums_amount = 0;

	// Заполнение массива случайными элементами
	for (int i = 0; i < N; i++)
	{
		cout << "Введите " << (i + 1) << "-й элемент массива: ";

		// Заполнение элементов массива с консоли
		cin >> arr[i];

		// Если очередной элемент массива больше максимального, то...
		if (arr[i] > max_num)
		{ // Запоминаем новое максимальное значение, а также ставим счётчик количества на единицу
			max_num = arr[i];
			max_nums_amount = 1;
		}
		else if (arr[i] == max_num)
		{ // Если же равен максимальному, то приплюсовываем к счётчику количества ещё один элемент
			max_nums_amount++;
		}
	}

	// Вывод элементов массива
	cout << "Элементы сгенерированного массива:" << endl;
	for (int i = 0; i < N; i++)
	{
		cout << arr[i] << endl;
	}

	// Вывод информации о самом большом значении и количестве элементов с этим значением
	cout << "Самое большое значение в массиве: " << max_num << endl;
	cout << "Количество элементов с максимальным значением: " << max_nums_amount << endl;

	// Очищаем память, которую выделяли для массива
	delete[] arr;

	// Возвращаем 0, чтобы дать знать, программа отработала корректно, раз дошла до этого момента
	return 0;
}