Задача удалена.......................

0 голосов
111 просмотров

Задача удалена.......................


Информатика (3.5k баллов) | 111 просмотров
0

Перед исправлениемC++ С клавиатуры вводится n: длина массива arr. Далее массив arr заполняется целыми числами. Требуется программа, находящая наибольшую возрастающую подпоследовательность в массиве. Пример: Входные данные: 5 1 6 3 2 5 Вывод: 3 Входные данные: 10 1 10 2 3 6 5 4 8 9 7 Вывод: 6

0

13.01.201921:35 MrMiner1 добавил комментарий показать21:29 Indentuum добавил решение21:05 MrMiner1 отредактировал задачу20:20 MrMiner1 добавил задачу

0

У задачи нет условия -> она должна быть удалена

0

отвечающий не виноват что пока он писал решение автор изменил условие. удаление задачи привело бы к удалению труда отвечающего.

0

В коментах к ответу все описано)

Дан 1 ответ
0 голосов
Правильный ответ

Мы ищем динамикой наибольшую подпоследовательность для отрезка [0; i] где гарантировано должен быть i-ый элемент. Потом выбираем из всех наибольшее число.


image
(4.7k баллов)
0

Исключено использование оператора '>>' без защитных конструкций.Причина:Оператор >> является частью стандартной библиотеки C++, как и большинство функций/классов он способен выбрасывать исключения.В свою очередь, при вводе неверной информации по стандарту не гарантированно инициализация переменной переданной в оператор >> как параметр, что является undefined behavior.То есть, при неверном вводе данных в зависимости от компилятора будет определено следующие сценарии поведения:

0

Не буду подробно, в двух словах

0

- throw exeption и в отсутствии try-catch конструкции над ним - креш в рантайме- инициализация переменной default значением- инициализация переменной мусоромИсключения:При наличии try-catch конструкции оборачивающей ввод данных.Рекомендация:Лучше использовать функцию getline и явное преобразование данных из char* в необходимый тип данных.

0

А так же

0

При использовании инкрементирующего оператора следует использовать только его префиксную форму.

0

Причина:При использованной оператора префиксной формы происходит увеличение значения, после чего return операция его уже нового значения.В отличие от префиксной - постфиксная форма предполагает сначала return текущего значения, после чего увеличение текущего значения, что влечет за собой более длительный процесс выполнения операции и использование в 2 раза больше памяти для сохранения предыдущего значения.

0

Исключение:Особые алгоритмы требующие данного поведения.Примечание:Операция инкремента равно-справедлива для всех типов для которых она определена, в том числе и итераторов, что может повлечь значительные потери в производительности, хотя на первый взгляд, если ограничиваться integer, данного явления не наблюдается.

0

к слову о циклах

0

При использовании сокращенной формы цикла for необходимо итерировать её элементы по константной ссылке.Причина:При использовании константной ссылки, избегаются следующие ситуации снижающие производительность & безопасность кода:- Ссылка обеспечивает гарантированное использование объекта без создания его копии- Константа обеспечивает гарантированную защиту ссылки от модификацииТаким образом снижается потребление памяти, время выполнения кода, а так же код остается безопасным.

0

Исключения:Константность может быть не использована в силу необходимости модификации элементов коллекции.Примечание:Передача элементов по значению в цикле исключена. Приемлем только вариант подобный:for ( auto& element : collection)