

Динамика на подотрезках
Здравствуйте, есть задача
Стоимость проезда
Робот Сильвер движется по платному шоссе на планете Шелезяка. На каждом километре шоссе расположен пункт оплаты. Всего на шоссе n пунктов оплаты. Первый пункт оплаты находится в самом начале шоссе, n-й пункт оплаты находится в начале последнего километра шоссе. Заплатив нужную сумму в i-м пункте оплаты, робот может двигаться дальше либо до следующего пункта оплаты, либо же до того, который находится через 2 километра (то есть, если робот находится в пункте i, то он может двигаться либо до пункта i+1, либо до пункта i+2). Первую оплату можно сделать либо в первом пункте, либо во втором (на выбор). Если оплаты была произведена в предпоследнем (n-1) пункте, то можно просто доехать до конца шоссе, не оплачивая проезд в последнем пункте.
Зная стоимость, которую необходимо заплатить в определенном пункте оплаты, помогите роботу Сильверу найти наименьшую сумму, которую он заплатит, проехав через все шоссе.
Формат входных дынных
В первой строке записано количество пунктов оплаты n (2 <= n <= 1000). Во второй строке записыны n целых чисел (costi) - стоимость проезда через i-й пункт оплаты (1 <= i <= n, 0 <= costi <= 999).
Формат выходных дынных
Выведите одно число - ответ на задачу.
пример:
1)
входные данные:
3
10 15 20
выходные данные
15
2)
входные данные:
10
1 100 1 1 1 100 1 1 100 1
выходные данные
6
можно подумать что стоит использовать жадный алгоритм,который на каждом шаге будет учитывать только два впереди стоящих числа и выбирать минимальное, но допустим у нас есть подотрезок: x 1 15 60 2, где x-это пунт оплаты в котором находится сильвер.
если использовать жадный алгоритм, x перейдет сначала на место единицы, а затем на место 15 и потом на 2 и итоговая сумма будет 1+15+2=18, когда можно было перейти на 15, а затем на 2 и сумма была бы 17.
Каком должен быть алгоритм, чтобы решить данную задачу?