РУҚА
25

Минимальная сумма показаний

ЕГЭ · Информатика · Тапсырма 25 · Динамикалық бағдарламалау
ЖоғарыФИПИC2D70AҚысқа жауап≈ 15 минут

По каналу связи передаётся последовательность целых чисел — показания прибора. В течение $N$ минут прибор ежеминутно регистрирует значение силы тока и передаёт его на сервер. Определите три таких переданных числа, чтобы между моментами передачи любых двух из них прошло не менее $K$ минут, а сумма этих трёх чисел была минимально возможной. Даны два входных файла: файл A и файл B. В каждом файле в первой строке содержится натуральное число $K$, во второй — количество показаний $N$ ($1 \leqslant N \leqslant 10\,000\,000$, $N>K$), а далее записаны $N$ натуральных чисел, не превышающих $10\,000\,000$. Запишите два числа: сначала искомую величину для файла A, затем для файла B. Типовой пример имеет иллюстративный характер; для выполнения задания используются данные из прилагаемых файлов. Для обработки файла B не следует использовать переборный алгоритм, вычисляющий сумму для всех возможных вариантов.

Условие как в банке ФИПИ — открыть и сверить
Дұрыс жауапты жазыңыз.

Тапсырма выполняется с использованием прилагаемых
файлов.

По каналу связи передаётся последовательность целых чисел – показания прибора. В течение N мин. (N – натуральное число) прибор ежеминутно регистрирует значение силы тока (в условных единицах) в электрической сети и передаёт его на сервер.

Определите три таких переданных числа, чтобы между моментами передачи любых двух из них прошло не менее K мин., а сумма этих трёх чисел была минимально возможной. Запишите в ответе найденную сумму.

Входные данные

Даны два входных файла (файл A и файл B), каждый из которых
в первой строке содержит натуральное число K – минимальное количество минут, которое должно пройти между моментами передачи показаний, а во второй – количество переданных показаний N (1 ≤ N ≤ 10 000 000, N > K). В каждой из следующих
N строк находится одно натуральное число, не превышающее 10 000 000, которое обозначает значение силы тока в соответствующую минуту.

Запишите в ответе два числа: сначала значение искомой величины для файла А, затем – для файла B.

Типовой пример организации данных во входном файле

2

6

15

14

20

23

21

10

При таких исходных данных искомая величина равна 45 – это сумма значений, зафиксированных на первой, третьей и шестой минутах измерений.

Типовой пример имеет иллюстративный характер. Для выполнения тапсырмалар используйте данные из прилагаемых файлов.

Предупреждение: для обработки файла B не следует использовать переборный алгоритм, вычисляющий сумму для всех возможных вариантов, поскольку написанная по такому алгоритму программа будет выполняться слишком долго.



Сіздің жауабыңыз

Формат: өлшем бірліктері жоқ сан немесе сөз; бөлшек бөлігін үтірмен бөліңіз.

!
3 уровня: от лёгкого толчка до почти готового решения. Следующий открывается, алдыңғысы оқылған кезде, — жауапқа бірден секіріп кетпеу үшін.
1Мягкая — с чего смотретьдеңгей 1 из 3

Как хранить минимальные суммы для выбора одного, двух и трёх показаний, если выбранные позиции должны находиться на расстоянии не менее $K$?

2Жетекші — қандай сандарды есептеудеңгей 2 из 3

Для каждого нового показания поддерживайте минимум среди подходящих предыдущих состояний: для двух чисел — минимум одного числа не позднее позиции $i-K$, для трёх — минимум суммы двух чисел не позднее позиции $i-K$.

3Тікелей — іс жүзінде шешімдеңгей 3 из 3

При последовательной обработке вычисляйте $d_1(i)=a_i$, $d_2(i)=a_i+\min d_1(j)$ и $d_3(i)=a_i+\min d_2(j)$ для $j\leq i-K$. Ответом является минимум всех значений $d_3(i)$.

Всё равно не складывается?Полное Шешім с обоснованием каждого шага — на отдельной странице.
Шешімді ашу

Тапсырма 25 ЕГЭ, информатика

Задача из темы «Динамикалық бағдарламалау»: в ней 72 задачи жауабымен және қадамдық талдауымен. В 25-м номере бланка — 216 задач.

Жауапты осы жерде тексеруге болады, ал егер шықпаса — ашуға болады көмекші кеңес немесе талдау. Тіркелу қажет емес.