Задание выполняется с использованием прилагаемых файлов
Дана последовательность вещественных чисел. Из неё необходимо выбрать несколько подряд идущих чисел так, чтобы каждое следующее число отличалось от предыдущего не более чем на . Какую максимальную сумму могут иметь выбранные числа? В ответе запишите только целую часть максимально возможной суммы. Исходная последовательность записана в виде одного столбца электронной таблицы.
Решение 1 (Excel):
В ячейку скопируем значение ячейки
.
В ячейку запишем формулу =ЕСЛИ(ЕСЛИ(ABS(A2-A1)<=20;B1+A2;A2)>=0;ЕСЛИ(ABS(A2-A1)<=20;B1+A2;A2);0)
Скопируем на весь стобей .
Найдём максимум из полученных значений с помощью формулы =МАКС
Целую часть от полученного значения запишем в ответ.
Решение 2 (прогой):
Откроем файл в Excel. Выделим все числа и скопируем их в текстовый документ. Для удобства с помощью комбинации заменим все запяьые на точки. Получим вот такой файлик:
Теперь напишем программу для решения задачи:
f = open(’18.txt’)
n = 500
a = [float(f.readline()) for x in range(n)]
ans = -10 ** 20
for i in range(n):
s = a[i]
if s > ans:
ans = s
for j in range(i + 1, n):
if abs(a[j] - a[j - 1]) <= 20:
s += a[j]
if s > ans:
ans = s
else:
break
print(int(ans))