Дана последовательность вещественных чисел. Из неё необходимо выбрать несколько подряд идущих чисел так, чтобы каждое следующее было больше предыдущего больше, чем на . Какую максимальную сумму могут иметь выбранные числа?
В ответе запишите только целую часть максимально возможной суммы.
Исходная последовательность записана в виде одного столбца элекронной таблицы.
Пример входных данных:
|
48.1 |
|
10.6 |
|
20.4 |
|
34.1 |
|
95.3 |
|
97.2 |
|
81.3 |
|
Для указанных входных данных максимально возможная сумма равна 149.8, в ответе надо записать число 149.
Решение 1 (Excel):
В ячейку скопируем значение ячейки
.
В ячейку запишем формулу =ЕСЛИ(ЕСЛИ(A2-A1>10;B1+A2;A2)>=0;ЕСЛИ(A2-A1>10;B1+A2;A2);0)
Скопируем на весь стобей .
Найдём максимум из полученных значений с помощью формулы =МАКС
Целую часть от полученного значения запишем в ответ.
Решение 2 (прогой):
Откроем файл в Excel. Выделим все числа и скопируем их в текстовый документ.
Теперь напишем программу для решения задачи:
f = open(’18.txt’)
a = []
for i in range(100000):
n = f.readline()
n = n.replace(’,’, ’.’)
a += [float(n)]
s = set()
max_summa = -100000
for i in range(1, len(a)):
if a[i] - a[i-1] > 10:
s.add(a[i-1])
s.add(a[i])
else:
max_summa = max(max_summa, sum(s))
s = set()
print(int(max_summa))