집에서 시간을 보내던 오영식은 박성원의 부름을 받고 급히 달려왔다. 박성원이 캠프 때 쓸 N개의 랜선을 만들어야 하는데 너무 바빠서 영식이에게 도움을 청했다.

이미 오영식은 자체적으로 K개의 랜선을 가지고 있다. 그러나 K개의 랜선은 길이가 제각각이다. 박성원은 랜선을 모두 N개의 같은 길이의 랜선으로 만들고 싶었기 때문에 K개의 랜선을 잘라서 만들어야 한다. 예를 들어 300cm 짜리 랜선에서 140cm 짜리 랜선을 두 개 잘라내면 20cm 은 버려야 한다. (이미 자른 랜선은 붙일 수 없다.)

편의를 위해 랜선을 자르거나 만들 때 손실되는 길이는 없다고 가정하며, 기존의 K개의 랜선으로 N개의 랜선을 만들 수 없는 경우는 없다고 가정하자. 그리고 자를 때는 항상 센티미터 단위로 정수길이만큼 자른다고 가정하자. N개보다 많이 만드는 것도 N개를 만드는 것에 포함된다. 이때 만들 수 있는 최대 랜선의 길이를 구하는 프로그램을 작성하시오.

입력

첫째 줄에는 오영식이 이미 가지고 있는 랜선의 개수 K, 그리고 필요한 랜선의 개수 N이 입력된다. K는 1이상 10,000이하의 정수이고, N은 1이상 1,000,000이하의 정수이다. 그리고 항상 K ≦ N 이다. 

그 후 K줄에 걸쳐 이미 가지고 있는 각 랜선의 길이가 센티미터 단위의 정수로 입력된다. 랜선의 길이는 231-1보다 작거나 같은 자연수이다.

출력

첫째 줄에 N개를 만들 수 있는 랜선의 최대 길이를 센티미터 단위의 정수로 출력한다.

예제 입력 1
4 11 802 743 457 539
예제 출력 1
200
힌트

802cm 랜선에서 4개, 743cm 랜선에서 3개, 457cm 랜선에서 2개, 539cm 랜선에서 2개를 잘라내 모두 11개를 만들 수 있다.



일단 문제가 이건데, 문제 이해는 했고 예제 입력, 예제 출력에서 어떤식으로 해야할지는 감이 오거든?

4(=K) 11(=N) << 여기가 K 와 N의 값 제시하는 행

802 << 여기부터는 K 개의 랜선의 길이 제시하는 행

743

457

539


이렇게 되는거잖아? 근데 저 "예시 입력1" 이 부분이 어떤 상황이 되든 작동하게끔 설정을 해야 할텐데, 거기서 막혔어. 참고로 파이썬으로 구현중이고

걍 코린이 아니 코생아임..


내가 생각한 바로는

저 '예시1' 의 첫번째 행, 즉 K랑 N값 제시하는 부분은 INPUT 함수로 K값하고 N값 받고,

K개의 랜선의 길이가 제시되는걸 list로 만들어서,


a=0

for i in range(1,1000+1):

if (802 // i) + (743 // i)+(457 // i)+(539 // i)==11:

a=i

print(a)


하면 어차피 마지막 i 값이 나올테니까 i의 최댓값이 나올거잖아? 이런식으로 설계를 하려고 하고, 저기 if 문에서

(802//i) ... 요 부분은 list에서 하나씩 뽑아서 i 앞에 그 수치 넣으면 될 거라고 생각을 했음


근데 내가 궁금한게 두개인데


1. input을 K개 만큼 받아야 되는데, INPUT에 입력된 값을 하나 하나 리스트에 넣으면서, 그게 다 채워질때까지 INPUT이 안 끝나는 방법은 없나?

2. range 에서 i 의 범위를 되게 충분히 잡아야 될 것 같은데 그건 어떻게 조절하는가?

3. 이외 다른 모듈 등 이용한 방법 대환영


이거거든? 도움줄수있는 프갤형냐없나..