АльпакаКайа
23.03.2021 22:14

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

для обеспечения устойчивой обороны требуется построить различных новых зданий. но не всё так просто. для поддержания процессов, которые будут происходить в этих зданиях, необходимо электричество. а получать электроэнергию новые здания могут только от новых электростанций. новых электростанций на базе нет, так что их тоже придётся построить. зная, сколько единиц электроэнергии в единицу времени производит одна новая электростанция и количество электроэнергии, потребляемое за единицу времени каждым из упомянутых выше новых зданий, определите минимальное количество электростанций, которое необходимо для полного функционирования требуемых

зданий.

формат входных данных :

в первой строке заданы числа

n и e (1≤≤105,1≤≤109) – количество требуемых зданий и количество единиц электроэнергии, которое производит одна новая электростанция.

во второй строке даны чисел – количество единиц электроэнергии, потребляемое за единицу времени каждым из зданий. все числа во второй строке неотрицательны и не превышают 109

формат выходных данных :

выведите одно целое число – минимальное количество электростанций, которое необходимо для полного функционирования требуемых зданий.

пояснение к примеру :

двух электростанции явно мало. электроэнергию трёх электростанций можно распределить по зданиям следующим образом: на первое здание идёт 5 единиц от первой электростанции, на второе – 8 единиц от второй электростанции и 4

единицы от третьей, а на третье – 3 единицы от первой электростанции и 4 единицы от третьей.

sample input:

3 8

5 12 7

sample output:

3

time limit: 3 секунды

memory limit: 256 mb

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
фаргана4
11.02.2020 21:12

//PascalABC.NET v3.3 1633

var arr: array [1..6, 1..6] of integer;

begin

 for var i:=1 to 6 do

   for var j:=1 to 6 do

     arr[i, j]:=random(-49, 50);

 

 writeln('Исходный массив: ');

 for var i:=1 to 6 do

     arr[i].PrintLn(', ');

     

 var num:=0;

 for var i:=1 to 6 do

   if arr[i, 2] < 0 then num += 1;

 writeln('Количество отрицательных элементов второго столбца: '+num);

 

 for var i:=1 to 6 do

   for var j:=1 to 6 do

     if arr[i, j] > 0 then arr[i, j]:=-49;

 writeln('Новый массив: ');

 for var i:=1 to 6 do

     arr[i].PrintLn(', ');

end.

0,0(0 оценок)
Ответ:
Qurin
03.10.2020 13:17

Алгоритм печатает сначала L, потом M. По программе понятно, что L Это количество раз, когда число не кратно 10 (каждый раз число делится на 10), а M - общее количество цифр. Понятно, что раз число должно быть наименьшее, а всего 8 цифр, значит может быть как минимум 4 нуля. Больше нулей быть не может, т.к. если в числе есть значимый ноль, то при делении он будет давать кратность десяти. 4 цифры уже есть, осталось подобрать 4 цифры, которые в числе при делении его на 10 не будут давать остаток 0. Это любые цифры от 1 до 9, но так как число минимальное, значит это цифры "1". Получается, 11110000. Переставляем цифры так, чтобы число было минимальное и получается 10000111.

ответ: 10000111

0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота