P24406 [AtCoder] Erase Subarrays
提高-
题目描述

Problem Statement

You are given an integer array $A=(a_1,a_2,\ldots,a_N)$.
You may perform the following operation any number of times (possibly zero).

  • Choose a nonempty contiguous subarray of A, and delete it from the array.

For each $x=1,2,\ldots,M,$ solve the following problem:

  • Find the minimum possible number of operations to make the sum of elements of A equal x.
    If it is impossible to make the sum of elements of A equal x, print -1 instead.

Note that the sum of elements of an empty array is 0.

Input

The input is given from Standard Input in the following format:
N M
$a_1 \ldots a_N$

Output

Print M lines. The i-th line should contain the answer for x=i.

Constraints

  • $1 \leq N,M \leq 3000$
  • $1 \leq a_i \leq 3000$
  • All values in the input are integers.

Sample Input 1

4 5
1 2 3 4

Sample Output 1

1
2
1
1
1

The followings are examples of minimum number of operations that achieve the goal.

  • For x=1, delete a_2,a_3,a_4, and the sum of elements of A becomes x.
  • For x=2, delete a_3,a_4, then delete a_1, and the sum of elements of A becomes x.
  • For x=3, delete a_3,a_4, and the sum of elements of A becomes x.
  • For x=4, delete a_1,a_2,a_3, and the sum of elements of A becomes x.
  • For x=5, delete a_2,a_3, and the sum of elements of A becomes x.

Sample Input 2

1 5
3

Sample Output 2

-1
-1
0
-1
-1

Sample Input 3

12 20
2 5 6 5 2 1 7 9 7 2 5 5

Sample Output 3

2
1
2
2
1
2
1
2
2
1
2
1
1
1
2
2
1
1
1
1

输入格式

见题面 Input 部分

输出格式

见题面 Output 部分

样例输入
4 5 1 2 3 4
样例输出
1 2 1 1 1