Матроска
1

Задача об удалении трех элементов последовательности

14.10.2014, 15:47. Показов 546. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
В школьном (!) туре олимпиады по информатике была такая задача:

Удаление
Ограничение времени: 2 с
Ограничение памяти: 256 M
У Гудвина есть последовательность чисел из которой он хочет удалить три элемента так, чтобы последовательность была наиболее симпатичной, то есть, наименее кривой.
Кривизна последовательности задается разностью между суммой элементов, стоящих на нечетных местах, и суммой элементов, стоящих на четных местах.
После удаления из последовательности трех элементов все остальные сдвигаются на соответствующие места. Например, из последовательности {1,2,3,4,5} можно получить последовательность {2,4}.

Формат входных данных
В первой строке записано целое число n (4 ≤ n ≤ 106) — количество элементов в исходной последовательности. Во второй строке записаны n разделенных пробелами целых чисел — члены последовательности, разделенные пробелами. Все числа в последовательности по модулю не превышают 109.

Тесты поделены на несколько групп, но оцениваются отдельно.
n ≤ 81 — +20 баллов
n ≤ 300 — +10 баллов
n ≤ 5000 — +20 баллов
Без дополнительных ограничений — +50 баллов
Формат выходных данных
Выведите единственное число — минимальную кривизну последовательности, которая может быть получена из данной удалением трех элементов.

Примеры
Входные данные
4
1 2 3 4
Результат работы
1
Входные данные
5
1 2 3 4 5
Результат работы
-4

Написать полный перебор оказалось несложно. Но эта программа, естественно, не проходит большинство тестов по времени.
Более оптимальный алгоритм придумать никак не могу. Поиск тоже не помог.
Помогите, пожалуйста. Теперь эту задачу решать вовсе не обязательно, но решить хочется.
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.10.2014, 15:47
Ответы с готовыми решениями:

Найти наибольшую сумму трех нечетных элементов последовательности
Найти наибольшую сумму трех нечетных элементов последовательности в PHP.

Найти последовательности из трех элементов, сумма которых больше 10
В одномерном массиве (не менее 6 элементов) определите и выведите на экран, последовательности,...

Найти максимум среди последних трех элементов последовательности
Найти максимум среди последних трех элементов последовательности

Определить, сколько в этой последовательности одно-, двух-, трех-, четырех- значных элементов
Дана числовая последовательность, состоящая из целых чисел, не превышающих по модулю число 9999....

0
14.10.2014, 15:47
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.10.2014, 15:47
Помогаю со студенческими работами здесь

Найти в массиве последовательности из идущих подряд трех равных между собой элементов, и удалить два из них
Задача: Дан массив а1,...,а50. Найти в нем последовательности из идущие подряд трех равных между...

Поиска среди элементов последовательности трех таких чисел, произведение которых максимально (без использования массива)
Дана последовательность из N натуральных чисел, оканчивающаяся 0. Составить программу поиска среди...

Найти разность среднего арифметического элементов первых трех и элементов последних трех столбцов матрицы
Задача№2 (найти разность среднего арифметического элементов первых трех и элементов последних трех...

Найти сумму первых трех и последних трех элементов массива
Есть одномерные материальные массивы A=i]l, B=i]m, C=i]n - вводятся с клавиатуры. Создать...

Массив: В последовательности из N целых чисел найти количество различных элементов, больших среднеарифметического всех элементов последовательности.
Помогите пожалуйста написать программу! В последовательности из N целых чисел найти количество...

Вычислить сумму тех элементов последовательности, номера которых совпадают со значениями элементов последовательности
Пожалуйста, помогите! Нифига не шарю в программировании. Тут такая задачка: "Дана...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru