문제 설명
AI 데이터센터에 있는 공용 클라우드의 최대 용량 limit와 각 서버의 디스크 사용량을 담은 배열 mems가 주어집니다.
AI 데이터센터의 운영팀은 서버들의 디스크 사용량을 관리하기 위해, 일렬로 배치된 N개의 서버 각각에 최대 사용량 K를 지정하려 합니다. 각 서버 i(1 ≤ i ≤ N)는 현재 mems[i] GB의 디스크 공간을 사용 중입니다. 각 서버의 사용량이 K를 넘는 부분은 모두 별도의 공용 클라우드에 저장되고, 이 공용 클라우드는 최대 limit GB까지만 데이터를 저장할 수 있습니다. 이때, 운영팀은 공용 클라우드의 최대 용량 limit를 초과하지 않으면서, 서버 별 최대 사용량 K를 가능한 한 작게 지정하려 합니다.
limit와 mems가 주어질 때, 지정 가능한 서버 별 최대 사용량 K의 최솟값을 반환하는 solution 함수를 작성하시오.
제한 사항
limit은 0 이상 1,000,000,000,000 이하의 자연수입니다.mems의 길이는 1 이상 1,000,000 이하입니다.mems의 각 원소는 1 이상 1,000,000 이하의 자연수입니다.
예시 테스트케이스 설명
| 테스트케이스 번호 | limit | mems | return |
|---|---|---|---|
| 1 | 7 | [20,15,10,17] | 15 |
| 2 | 22 | [4,42,40,26,46] | 36 |
| 3 | 0 | [5,2,1] | 5 |
1번 테스트케이스 설명
- 서버 별 최대 사용량이 15라면, 공용 클라우드 사용량은 (20-15) + (15-15) + (10<15이므로 0) + (17-15) = GB로 공용 클라우드의 한도와 일치합니다. 이보다 더 줄이면 한도를 초과하므로, 15를 반환합니다.
2번 테스트케이스 설명
- 서버 별 최대 사용량이 36이라면, 공용 클라우드 사용량은 (4<36이므로 0) + (42-36) + (40-36) + (26<36이므로 0) + (46-36) = GB로 공용 클라우드의 한도를 넘지 않습니다. 이보다 더 줄이면 한도를 초과하므로, 36를 반환합니다.
3번 테스트케이스 설명
- 공용 클라우드 한도가 0이면, 서버 별 최대 사용량을 5 미만으로 제한할 수 없으므로 5를 반환합니다.