По каналу связи передается последовательность положительных целых чисел $X_1, X_2$ … все числа не превышают 1000, их количество заранее неизвестно. Каждое число передается в виде отдельной строки, содержащей десятичную запись числа. Признаком конца передаваемой последовательности является число 0. Участок последовательности от элемента XT до элемента $X_T плюс N$ называется подъемом, если на этом участке каждое следующее число больше предыдущего. Высотой подъема называется разность $X_T плюс N минус X_T$ Напишите эффективную программу, которая вычисляет наибольшую высоту среди всех подъемов последовательности. Если в последовательности нет ни одного подъема, программа выдает 0. Программа должна напечатать отчет по следующей форме: Получено ... чисел Наибольшая высота подъема: … Вам предлагаются два задания, связанные с этой задачей: задание А и задание Б. Вы можете решать оба задания А и Б или одно из них по своему выбору. Итоговая оценка выставляется как максимальная из оценок за задания А и Б. Если решение одного из заданий не представлено, то считается, что оценка за это задание составляет 0 баллов. Задание Б является усложненным вариантом задания А, оно содержит дополнительные требования к программе. Перед программой укажите версию языка программирования. А. Напишите на любом языке программирования программу для решения поставленной задачи, в которой входные данные будут запоминаться в массиве, после чего будут проверены все возможные пары элементов. Обязательно укажите, что программа является решением задания А. Максимальная оценка за выполнение задания А – 2 балла. Б. Напишите программу для решения поставленной задачи, которая будет эффективна как по времени, так и по памяти (или хотя бы по одной из этих характеристик). Программа считается эффективной по времени, если время работы программы пропорционально количеству элементов последовательности N, т. е. при увеличении N в k раз время работы программы должно увеличиваться не более чем в k раз. Обязательно укажите, что программа является решением задания Б. Перед текстом программы кратко опишите используемый вами алгоритм решения задачи. Пример входных данных: 144 17 27 3 7 9 11 10 0 Пример выходных данных для приведенного выше примера входных данных: Получено 8 чисел Наибольшая высота подъема: 10

Средний уровеньЗадание

По каналу связи передается последовательность положительных целых чисел $X_1, X_2$ … все числа не превышают 1000, их количество заранее неизвестно. Каждое число передается в виде отдельной строки, содержащей десятичную запись числа. Признаком конца передаваемой последовательности является число 0. Участок последовательности от элемента XT до элемента $X_T плюс N$ называется подъемом, если на этом участке каждое следующее число больше предыдущего. Высотой подъема называется разность $X_T плюс N минус X_T$ Напишите эффективную программу, которая вычисляет наибольшую высоту среди всех подъемов последовательности. Если в последовательности нет ни одного подъема, программа выдает 0. Программа должна напечатать отчет по следующей форме: Получено ... чисел Наибольшая высота подъема: … Вам предлагаются два задания, связанные с этой задачей: задание А и задание Б. Вы можете решать оба задания А и Б или одно из них по своему выбору. Итоговая оценка выставляется как максимальная из оценок за задания А и Б. Если решение одного из заданий не представлено, то считается, что оценка за это задание составляет 0 баллов. Задание Б является усложненным вариантом задания А, оно содержит дополнительные требования к программе. Перед программой укажите версию языка программирования. А. Напишите на любом языке программирования программу для решения поставленной задачи, в которой входные данные будут запоминаться в массиве, после чего будут проверены все возможные пары элементов. Обязательно укажите, что программа является решением задания А. Максимальная оценка за выполнение задания А – 2 балла. Б. Напишите программу для решения поставленной задачи, которая будет эффективна как по времени, так и по памяти (или хотя бы по одной из этих характеристик). Программа считается эффективной по времени, если время работы программы пропорционально количеству элементов последовательности N, т. е. при увеличении N в k раз время работы программы должно увеличиваться не более чем в k раз. Обязательно укажите, что программа является решением задания Б. Перед текстом программы кратко опишите используемый вами алгоритм решения задачи. Пример входных данных: 144 17 27 3 7 9 11 10 0 Пример выходных данных для приведенного выше примера входных данных: Получено 8 чисел Наибольшая высота подъема: 10

Похожие задания