Задача B. Подснежники
Имя входного файла: стандартный ввод
Имя выходного файла: стандартный вывод
Ограничение по времени: 1 секунда
Ограничение по памяти: 256 мегабайт
Девочка даже руками всплеснула. Куда девались высокие сугробы? Где ледяные сосульки, что
висели на каждой ветке? Под ногами у нее — мягкая весенняя земля. Кругом каплет, течет, журчит.
Почки на ветвях надулись, и уже выглядывают из-под темной кожуры первые зеленые листики.
Глядит девочка — наглядеться не может.
«Что же ты стоишь? Торопись, нам с тобой всего один часок братья мои подарили», — говорит
ей Март.
Девочка очнулась и побежала в чащу подснежники искать. А их видимо-невидимо!
Перед девочкой N кочек. На i-й кочке растут ki подснежников. Она может выбрать одну или
несколько кочек, после чего девочка пробегает по выбранным кочкам и срывает все подснежники,
растущие на этих кочках. То есть, если среди выбранных кочек есть кочка с номером i, девочка
забирает себе ki подснежников.
Какое минимально возможное количество кочек нужно выбрать девочке, чтобы собрать ровно
K подснежников?
Формат входных данных
Первая строка входных данных содержит натуральное число N — количество кочек
и натуральное число K — количество подснежников, которое помещается в корзину/
Во второй строке находится N натуральных чисел ki — количество подснежников на каждой
кочке/
Формат выходных данных
Выведите наименьшее необходимое число кочек или 0, если набрать полную корзину подснежников невозможно.
Пример
стандартный ввод стандартный вывод
4 6 2
4 2 3 1
решить на чём угодно
Объяснение:
Какие служебные слова применяются для записи цикла с постусловием
Выберите несколько из 4 вариантов ответа:
1) End 3) Repeat
2) Until 4) Begin
Задание 2
Вопрос:
Как найти элемент массива с определенным значением?
Выберите один из 3 вариантов ответа:
1) Отсортировать массив и выбрать максимальный индекс.
2) Перебирать элементы массива пока они не закончатся или пока не будет найден искомый.
3) Выбрать один элемент массива, предположить его искомым и сравнить с оставшимися, меняя в процессе предполагаемый искомый элемент.
Задание 3
Вопрос:
Установите верный порядок следования команд при поиске в массиве из 50 элементов, элемента равного k
Укажите порядок следования всех 4 вариантов ответа:
_1_ if a[i]=k then writeln (i); _2_ while (a[i]<>k) and (i<50) do
_1_ i:=1; __ i:=i+1;
Задание 4
Вопрос:
Какая команда пропущена в данном участке программы, отвечающем за поиск максимального элемента массива. Запишите команду без пробелов.
r:=1;
for i:=2 to n do
if a[i]>a[r]
then ...
Запишите ответ:
Задание 5
Вопрос:
Запишите без пробелов команду, которая пропущена в данном алгоритме сортировки массива по убыванию методом пузырька.
p:=false;
while p=false do
begin
...
for i:=1 to n-1 do
if a[i] then begin
p:=a[i];
a[i]:=a[i+1];
a[i+1]:=p;
end;
end;
Запишите ответ:
Задание 6
Вопрос:
Какое служебное слово пропущено в данной записи цикла с постусловием?
repeat
i:=i-1;
... i=0;
Запишите ответ:until
Задание 7
Вопрос:
Как называется описанный метод сортировки по возрастанию?
Проходя по массиву, ищем два соседних элемента, которые расположены не по возрастанию. Найдя такие элементы, меняем их местами. Продолжаем до тех пор, пока за весь проход по массиву не будет сделано ни одной перестановки.
Выберите один из 4 вариантов ответа:
1) Метод перебора
2) Метод пузырька
3) Метод выбора
4) Метод последовательных перестановок
Задание 8
Вопрос:
Что такое сортировка?
Выберите один из 3 вариантов ответа:
1) Изменение индексов элементов массива
2) Изменение порядка следования элементов в массиве в соответствии с определенным признаком
3) Изменение значений элементов массива
Задание 9
Вопрос:
Какие существуют типы задач на поиск элементов в массиве?
Выберите несколько из 4 вариантов ответа:
1) Удаление элемента массива
2) Найти элемент с указанным значением
3) Добавление элемента
4) Найти максимальный или минимальный элемент
Задание 10
Вопрос:
Установите верный порядок следования команд при сортировке массива из 10 элементов по возрастанию методом выбора.
Укажите порядок следования всех 7 вариантов ответа:
__ a[i]:=a[j];
__ for i:=j+1 to 10 do
__ a[j]:=p;
__ p:=a[i];
__ if a[j] __ for j:=1 to 9 do
__ end;
1)
var g1,g2:integer;
begin
writeln('Введите годы рождения двух детей');
readln(g1,g2);
if g1<g2 then
writeln('Старший ребенок родился в ',g1,'году')
else
writeln('Старший ребенок родился в ',g2,'году');
end.
2)
var r,v,ves:real;
begin
write('Введите рост ');
readln(r);
writeln('Введите вес ');
readln(ves);
v:=r-115;
if (r>=168) and (r<=173) then
if v=ves then
writeln('Поступающий будет принят в школу')
else
writeln('Поступающий не будет принят')
else
writeln('Поступающий не будет принят');
end.