Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [C++|Delphi|Алгоритм] Поиск прогрессии.


Автор: Tura 13.5.2007, 20:21

Вот нашёл интересную задачу, но не знаю как её решить с нормальной сложностью по времени о(n*logn)
или ниже и с той же по памяти.

Пожалуйста помогите!


Последовательность S состоит из N элементов S[i](1<=s[i]<=1000000000), пронумерованных от 0 до (N-1). Из этой последовательности необходимо выбрать максимальное количество различных элементов, являющихся последовательными членами некоторой возрастающей арифметической прогрессии . Порядок этих элементов в последовательности S не имеет значения. 

И ещё оговорюсь, что в исходной последовательности эти элементы могут наодится как угодно
Необходимо вывести индексы этих элементов(в любом порядке).

Например:
последовательность
6 7 1 2 3 4 5 89 90

выводим индексы
0 1 2 3 4 5 6
Заранее огромное спасибо.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)