만드는 중입니다

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

파닭파닭

면접 대비

시간 제한2초메모리 제한256 MB

요약
파의 길이들이 주어질 때, C개의 조각을 만들 수 있는 가장 큰 정수 조각 길이 x를 찾고 남은 파의 총 길이를 출력한다.
난이도

보통10점 중 5점

유형
이분 탐색, 그리디, 배열, 수학
정답자
아직 제출이 없습니다

문제

평소 요리에 관심이 많던 승균이가 치킨집을 열었다. 주메뉴는 파닭이다. 가게 문을 열기 전에 승균이는 남부시장에 들러 길이가 제각각인 파를 여러 개 사 왔다.

파닭 맛을 일정하게 유지하려고 승균이는 파닭 하나마다 길이가 똑같은 파를 넣는다. 파가 많을수록 맛이 좋다고 생각해서 이 길이는 최대한 크게 잡는다. 파닭 하나에는 파 조각이 하나만 들어가므로 서로 다른 조각을 이어 붙여 한 파닭에 넣지는 못한다.

가게의 자는 정수 눈금만 있어서 파는 정수 길이로만 자른다. 길이가 LL인 파에서 길이 xx짜리 조각은 최대 ⌊L/x⌋\lfloor L / x \rfloor개 나오고, L mod xL \bmod x만큼은 조각으로 쓰지 못한다.

주문받은 파닭 CC개를 모두 만들 수 있는 가장 큰 정수 길이 xx를 골랐을 때, 파닭에 쓰고 남은 파의 길이 합을 구하는 프로그램을 작성하시오. 남은 양은 파 길이의 총합에서 파닭에 들어간 C×xC \times x를 뺀 값이다. 승균이는 하루 일을 마치고 그 파를 라면에 넣어 먹는다.

입력

첫째 줄에 승균이가 사 온 파의 개수 SS와 주문받은 파닭의 수 CC가 공백으로 구분되어 주어진다. (1≤S≤1061 \le S \le 10^6, 1≤C≤1061 \le C \le 10^6, S≤CS \le C)

다음 SS개 줄에 각 파의 길이 LL이 정수로 주어진다. (1≤L≤1091 \le L \le 10^9)

파 길이의 총합은 CC 이상이므로 주문받은 파닭은 언제나 전부 만들 수 있다.

출력

승균이가 라면에 넣을 파의 길이 합을 한 줄에 출력한다.

힌트

파가 440440, 350350, 230230이고 파닭 55개를 주문받은 경우, 파닭 하나에 넣을 수 있는 파의 최대 길이는 175175다. 440440에서 22개, 350350에서 22개, 230230에서 11개를 잘라 모두 55개를 만들고, 각 파에서 90+0+55=14590 + 0 + 55 = 145가 남는다.

예제1

  1. 예제 1

    입력
    3 5
    440
    350
    230
    
    예상 출력
    145