시간 제한메모리 제한제출정답맞힌 사람정답 비율
2 초 512 MB176221311.607%

## 문제

You have an array of non-negative integers a1, a2, . . . , an.

You need to split it into k non-empty subsegments: [1; b1], [b1 + 1; b2], . . . , [bk−1 + 1; n].

Let us denote the sum on i-th segment as si and the maximum on i-th segment as mi. Your goal is to make |si − si+1| ≤ max(mi, mi+1) for each 1 ≤ i ≤ k − 1.

## 입력

The first line of the input contains two integers n and k: the size of the array and the required number of segments (3 ≤ k ≤ n ≤ 100 000).

The next line contains n integers a1, a2, . . . , an: the given array (0 ≤ ai ≤ 50 000).

## 출력

If splitting is possible, print “Yes” on the first line, and then print k − 1 space-separated integers b1, b2, . . . , bk−1 on the second line. The integers must satisfy 1 ≤ b1 < b2 < . . . < bk−1 < n. Additionally, the inequalities |si − si+1| ≤ max(mi, mi+1) must hold for each 1 ≤ i ≤ k − 1. If there are several possible solutions, print any one of them.

If splitting is impossible, print “No” on a single line.

## 예제 입력 1

5 3
17 18 17 30 35


## 예제 출력 1

Yes
2 4


## 출처

• 문제를 만든 사람: 300iq
• 데이터를 추가한 사람: gs18115