Минимальная стоимость вывоза мусора
На каждом 3-м километре кольцевой автодороги с двусторонним движением установлены контейнеры для мусора. Длина кольцевой автодороги равна $3N$ километров. Нулевой километр и $3N$-й километр автодороги находятся в одной точке. Известно количество мусора, которое накапливается ежедневно в каждом из контейнеров. Из каждого пункта мусор вывозит отдельный мусоровоз. Стоимость доставки мусора вычисляется как произведение количества мусора на расстояние от пункта до центра переработки. Центр переработки отходов расположен в одном из пунктов сбора мусора таким образом, что общая стоимость доставки мусора из всех пунктов минимальна.
Определите минимальную суммарную стоимость доставки мусора из всех пунктов сбора в центр переработки отходов.
Даны два входных файла: файл A и файл B. Каждый файл в первой строке содержит число $N$ ($1 \leqslant N \leqslant 10\,000\,000$) — количество пунктов сбора мусора. В следующих $N$ строках записано количество мусора в контейнере. Все числа натуральные, количество мусора в каждом пункте не превышает 1000. Числа указаны в порядке расположения контейнеров на автомагистрали, начиная с первого километра.
Для обработки файла B необходимо использовать алгоритм, не перебирающий все возможные положения центра переработки.
Условие как в банке ФИПИ — открыть и сверить
| ||||||
| | ||||||
Формат: число или слово без единиц измерения; дробную часть отделяйте запятой.
1Мягкая — с чего смотретьуровень 1 из 3
Как выразить стоимость для следующего пункта, если известна стоимость для текущего пункта?
2Наводящая — какие числа считатьуровень 2 из 3
Используйте сумму мусора слева и справа от текущего пункта. При переходе между соседними пунктами расстояния до мусора меняются на 3 км.
3Прямая — фактически решениеуровень 3 из 3
Сначала вычислите стоимость для одного выбранного центра, затем пересчитывайте её для соседних центров по формуле $C_{i+1}=C_i+3\cdot(S-2P_i)$, где $S$ — общий объём мусора, а $P_i$ — объём мусора в пункте $i$ и на предыдущих пунктах. Для кольца учитывайте переход от последнего пункта к первому.
