В течение N мин. (N — натуральное число) прибор ежеминутно регистрирует
Условие
По каналу связи передаётся последовательность целых чисел — показания прибора. В течение N мин. (N — натуральное число) прибор ежеминутно регистрирует значение силы тока (в условных единицах) в электрической сети и передаёт его на сервер.Определите три таких переданных числа, чтобы между моментами передачи любых двух из них прошло не менее K мин., а сумма этих чисел была минимально возможной. Запишите в ответе найденную сумму. Входные данные.Файл АФайл ВДаны два входных файла (файл A и файл B), каждый из которых в первой строке содержит натуральное число К — минимальное количество минут, которое должно пройти между моментами передачами любых двух из трёх показаний, а во второй — количество переданных показаний N (1 ≤ N 10 000 000, N > K). B каждой из следующих N строк находится одно натуральное число, не превышающее 10 000 000, которое обозначает значение силы тока в соответствующую минуту.Запишите в ответе два числа: сначала значение искомой величины для файла A, затем — для файла В.Типовой пример организации данных во входном файле:26151420232110При таких исходных искомая величина равна 45 — это сумма значений, зафиксированных на первой, третьей и шестой минутах измерений.Типовой пример имеет иллюстративный характер. Для выполнения задания используйте данные из прилагаемых файлов. Ответ:
Ответ
16699815102
Решение по шагам
Как рассуждать
Решение. Приведём решение на языке Python. f = open('27_B.txt')k = int(f.readline())n = int(f.readline())a = [int(x) for x in f]st = 1010fin = 1010summa = 10**10for i in range(2k,n): st = min(st, a[i-2k]) fin = min(fin, st + a[i-k]) summa = min(summa, fin + a[i])print(summa) В результате работы данного алгоритма при вводе данных из файла A ответ — 166998, из файла B —
Осталось ещё 1 шаг — откроются после входа:
- Шаг 2
Бесплатно · займёт минуту