U407993 无优先级运算问题

题目描述

给定 $n$ 个正整数和4个运算符:+、-、*、/,运算符没有优先级,按照从左到右的次序依次运算,例如:3+4\*5不等于23,而是等于35。请设计一个算法,对于任意给定的整数 $m$ ,用给出的 $n$ 个正整数和4个运算符,经过运算得到整数 $m$ ,要求运算次数最少。注意:$n$ 个数中每个数最多只允许用1次(即不使用或者使用1次),每种运算符可以多次使用。 可以改变运算数的顺序。这里的除法 `\`是整数除法,向零取整,即 $9/5=1,(-9)/5=-2$ 。

输入格式

第一行输入正整数 $n$ 和整数 $m$ 第二行输入具体的 $n$ 个正整数。

输出格式

输出最少运算次数。若无解,输出`-1` 。

说明/提示

$n\leq 9,m\leq 10^6$