编程题
### 问题描述
给出一个长度为 $n$ 的数组 $a_1,a_2,\dots,a_n$,问是否能通过删掉一些子段使剩下的数之和为 $q$。
若可以,求出最小操作次数,否则输出 $−1$。
### 输入格式
输入第一行包含两个整数 $n,q$,含义见上文。
输入第二行包含 $n$ 个整数 $a_1,a_2,\dots,a_n$,表示数组。
### 输出格式
输出一个整数。若可以实现,输出最小操作次数。否则,输出 $-1$。
### 样例输入
```
4 5
1 2 3 4
```
### 样例输出
```
1
```
### 评测数据规模
对于所有评测数据,$1\leq{n,q}\leq{3000},1\leq{a_i}\leq{3000}$。