Помогите пожалуйста решить задачу на JavaScript. - вопрос №4468604

Петр Васильевич, директор ОАО «Рога и рога», собирается раздать премию всем менеджерам компании, он добрый и честный человек, поэтому хочет соблюсти следующие условия:

  • премия должна быть равной для всех менеджеров
  • должна быть максимально возможной и целой
  • должна быть выдана одной транзакцией с одного счета для каждого менеджера, без использования нескольких счетов для отправки одной премии

У Петра Васильевича открыто

<code>N</code>

корпоративных счетов, на которых лежат разные суммы денег

<code>Cn</code>

, а в компании работает

<code>M</code>

менеджеров. Необходимо выяснить максимальный размер премии, которую можно отправить с учетом условий. Если денег на счетах компании не хватит на то, чтобы выдать премию хотя бы по 1 у.е. — значит премии не будет, и нужно вывести 0.


Входные данные (поступают в стандартный поток ввода)

Первая строка — целые числа N и M через пробел (1≤N≤100 000, 1≤M≤100 000)

Далее N строк, на каждой из которых одно целое число Cn (0≤Cn≤100 000 000)

Проверка входных данных и обработка неправильных данных на входе не нужна, тестовые данные для проверки гарантированно подходят под описание выше


Выходные данные (ожидаются в стандартном потоке вывода)

Одно целое число, максимально возможная премия


Пример 1

Ввод:

<code>4 6 199 453 220 601 </code>

Вывод:

<code>200</code>
Пример 2

Ввод:

<code>2 100 99 1 </code>

Вывод:

<code>1</code>
Пример 3

Ввод:

<code>2 100 98 1 </code>

Вывод:

<code>0</code>
Примечания по оформлению решения

Возможно использование только стандартных библиотек языков, установки и использование дополнительных библиотек невозможны.

При отправке решений на Java необходимо назвать исполняемый класс

<code>Main</code>

. В решении не нужно указывать пакет.


Примеры работы со стандартными потоками ввода и вывода

Для JS можно использовать

<code>readline</code>

и

<code>console.log</code>

:

<code>const readline = require('readline').createInterface(process.stdin, process.stdout); let lineNum = 0; // Событие line и его обработчик будут вызваны последовательно один раз для каждой строки входных данных readline.on('line', (line) => { // Текущая строка в переменной line, здесь можно сохранить ее в другую переменную lineNum = lineNum + 1; if (lineNum < {количество строк}) { return; } // Сюда мы попадем, когда прочтем последнюю… console.log(result); readline.close(); }).on('close', () => process.exit(0)); </code>
Вопрос задан анонимно
16.09.21
0 ответов
Ответов пока нет

✯ Анна ✯

от 0 p.
Читать ответы

Павел Викторович

от 100 p.
Читать ответы
Посмотреть всех экспертов из раздела Технологии > JavaScript,Ajax,HTML
Пользуйтесь нашим приложением Доступно на Google Play Загрузите в App Store