아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

특별한 서빙

시간 제한1초메모리 제한512 MB

요약
파묻튀를 받으면 불만도가 x_i만큼 오르고 가지를 받으면 x_i만큼 내려간다. 불만도가 언제나 M 미만이 되도록 가지를 줘야 하는 학생 수의 최솟값을 구한다.
난이도

보통10점 중 7점

유형
그리디, 힙, 누적 합, 정렬
정답자
아직 제출이 없습니다

문제

???: 가지라니, 비슷하지도 않잖아요...

NLCS Jeju에서는 파묻튀(파마산을 묻혀 튀긴 소고기)를 서빙하는 것을 좋아한다.

그러나, 학생들은 파묻튀보다는 신선한 가지를 먹고 싶어한다!

급식실에 NN명의 학생들이 차례로 서 있다. 줄의 앞에서부터 ii번째 학생이 가지 대신 파묻튀를 받았을 경우 x_ix\_i만큼 불만도가 늘어나고, 가지를 받았을 경우에는 x_ix\_i만큼 불만도가 내려간다. 단, 불만도의 초깃값은 00이다.

음식을 앞에 서있는 학생부터 순서대로 서빙할 때, 어떤 한 순간이라도 불만도가 MM 이상이 되면 학생들은 ‘가지 운동’을 일으키게 된다.

가지 운동을 일으키지 않게 하기 위한 가지의 최소 개수를 구하는 프로그램을 작성하시오.

입력

첫 번째 줄에 NN과 MM이 공백으로 구분되어 주어진다.

두 번째 줄에 x_ix\_i를 나타내는 NN개의 정수가 공백으로 구분되어 주어진다.

출력

첫 번째 줄에 학생들이 가지 운동을 일으키지 않게 하기 위한 가지의 최소 개수를 출력한다.

제한

  • 1≤N≤200,0001 \leq N \leq 200\\,000
  • 1≤M≤1091 \leq M \leq 10^9
  • 0≤x_i≤1090 \leq x\_i \leq 10^9

예제2

  1. 예제 1

    입력
    5 3
    0 0 2 0 2
    
    예상 출력
    1
    
  2. 예제 2

    입력
    10 90
    14 6 12 16 14 6 20 19 16 12
    
    예상 출력
    2