#!/bin/bash read line positions=( ${line//,/ } ) min_consumption=-1 max_coordinate=-1 consumptions=( 0 ) for position in ${positions[@]}; do if [ $max_coordinate -eq -1 ] || [ $position -gt $max_coordinate ]; then max_coordinate=$position fi done for i in $(seq $max_coordinate); do consumptions+=( $((consumptions[i-1]+i)) ) done for i in $(seq 0 $max_coordinate); do curr_consumption=0 for position in ${positions[@]}; do temp_curr_consumption=$((position-i)) temp_curr_consumption=${temp_curr_consumption#-} curr_consumption=$((curr_consumption+consumptions[temp_curr_consumption])) done if [ $min_consumption -eq -1 ] || [ $curr_consumption -lt $min_consumption ]; then min_consumption=$curr_consumption fi done echo $min_consumption