Module: Enumerazione lineare


Problem

4 /5


Sequenza armoniosa lite

Problem

Allo studio delle successioni è dedicato un ciclo di lezioni all'Università di Flatlandia.

Il professore chiama una sequenza di numeri interi \(a_1, a_2, ..., a_n\) armoniosa se ogni numero tranne \(a_1\) e \(a_n\), è uguale alla somma di adiacente:  \(a_2 = a_1 + a_3, a_3=a_2+a_4, ..., a_{n-1}=a_{n-2}+a_n\). Ad esempio, la sequenza [1,2,1,–1]  è armonica perché 2=1+1 e 1=2+(–1) .

Considera sequenze di uguale lunghezza: \(A=[a_1,a_2, ... a_n]\)   e \(B=[b_1,b_2, ... b_n]\). La distanza tra queste sequenze sarà chiamata valore \(d(A,B)= |a_1-b_1|+|a_2-b_2|+...+|a_n-b_n |\)  . Ad esempio, \(d([1,2,1,–1][1,2,0,0])=|1–1|+|2–2 | ++|1–0|+|–1–0|=0+0+1+1=2 \)

Al termine della lezione, il professore ha scritto alla lavagna una sequenza di n numeri interi \(B=[b_1,b_2, ... b_n]\) e ha chiesto gli studenti a trovare una sequenza armonica \(A=[a_1,a_2, ... a_n]\) tale che \( d( A, B)\) è minimo. Per facilitarne la verifica, il professore ti chiede di scrivere come risposta solo la distanza minima desiderata \(d(A,B)\)  .

Occorre scrivere un programma che, data una sequenza B, determini a quale minima distanza dalla sequenza B esiste una sequenza armonica A.

Inserimento
La prima riga del file di input contiene il numero intero n – il numero di elementi nella sequenza ( \(3 \le n \le 500\)).

La seconda riga contiene n numeri interi \(b_1, b_2, …, b_n (–100 \le b_i \le 100 )\) .

Impressum
Il file di output deve contenere un singolo numero intero: la distanza minima possibile dalla sequenza nel file di input a una sequenza armonica.
Esempi
# Input Uscita
1 4
1 2 0 0
2