당근을 고르게 볶으려면 먼저 당근의 크기를 서로 비슷하게 맞춰야 한다.
상근이는 당근 N개를 가지고 있다. 칼질 한 번으로 당근 하나를 두 조각으로 나눌 수 있다. 무게가 w인 당근을 자르면 무게가 a와 b인 당근 두 개가 되고, a+b=w이다. 조각의 무게가 정수일 필요는 없고, 잘라서 나온 조각도 다시 자를 수 있다.
상근이는 칼질을 무서워해서 칼질 횟수를 되도록 줄이려고 한다.
당근의 무게가 주어졌을 때, 칼질을 모두 마친 뒤 가장 가벼운 당근의 무게를 가장 무거운 당근의 무게로 나눈 값이 T보다 커지게 하는 최소 칼질 횟수를 구하는 프로그램을 작성하시오.
첫째 줄에 비율 T와 당근의 수 N이 주어진다. T는 소수점 이하 둘째 자리까지 주어지고 0.5<T<1을 만족한다. N은 양의 정수이고 N≤1000이다.
둘째 줄에 당근의 무게 w1,w2,…,wN이 주어진다. wi는 106보다 작은 양의 정수다.
첫째 줄에 가장 가벼운 당근의 무게를 가장 무거운 당근의 무게로 나눈 값이 T보다 커지게 하는 데 필요한 최소 칼질 횟수를 출력한다. 정답은 항상 500보다 작다.
소수점 오차로 생기는 오답을 막기 위해, 비율을 T로 두고 푼 답과 T+0.0001로 두고 푼 답이 같은 입력만 주어진다.