만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

칠판

시간 제한6초메모리 제한1024 MB

요약
양의 정수 n개를 합이 유지되도록 실수 조각으로 나누어, 가장 큰 값이 가장 작은 값보다 k% 이내로 큰 상태를 만드는 최소 연산 횟수를 구합니다.
난이도

보통10점 중 7점

유형
수학, 그리디, 정렬
정답자
아직 제출이 없습니다

문제

방에 칠판이 하나 있고, 칠판에는 양의 정수 nn개가 적혀 있다. 물건이 정돈되어 있는 것을 좋아하지만, 이 칠판은 엉망이다. 수들이 제멋대로 흩어져 있고, 아주 작은 값과 아주 큰 값이 섞여 있다.

정리하기 위해 합이 그대로 유지되도록 수를 한 번에 하나씩 쪼갠다. 한 번의 연산에서는 칠판에 있는 값 xx를 하나 골라 지우고, x=y+zx = y + z를 만족하는 두 양의 실수 yy와 zz로 바꾼다.

목표는 칠판의 가장 큰 값이 가장 작은 값보다 kk퍼센트 이하로 크도록 만드는 것이다.

이 목표에 도달하는 데 필요한 연산 횟수의 최솟값을 구하라.

입력

첫 번째 줄에 두 정수 nn과 kk가 주어진다 (1≤n≤100001 \leq n \leq 10000, 0≤k≤1000 \leq k \leq 100). 칠판에 처음 적힌 정수의 개수와 허용하는 차이의 백분율이다.

두 번째 줄에는 칠판에 처음 적힌 정수 a1,a2,…,ana_1, a_2, \ldots, a_n이 주어진다 (1≤ai≤1091 \leq a_i \leq 10^9).

출력

칠판의 가장 큰 값이 가장 작은 값보다 kk퍼센트 이하로 커지도록 만드는 데 필요한 연산 횟수의 최솟값을 출력한다.

예제2

  1. 예제 1

    입력
    4 50
    2 3 5 7
    
    예상 출력
    3
    
  2. 예제 2

    입력
    2 20
    7 4
    
    예상 출력
    1