학습
시험

디스크 사용량 최적화

난이도
BEGINNER

문제 설명

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) = 5+0+0+2=75 + 0 + 0 + 2 = 7 GB로 공용 클라우드의 한도와 일치합니다. 이보다 더 줄이면 한도를 초과하므로, 15를 반환합니다.

2번 테스트케이스 설명

  • 서버 별 최대 사용량이 36이라면, 공용 클라우드 사용량은 (4<36이므로 0) + (42-36) + (40-36) + (26<36이므로 0) + (46-36) = 0+6+4+0+10=200 + 6 + 4 + 0 + 10 = 20 GB로 공용 클라우드의 한도를 넘지 않습니다. 이보다 더 줄이면 한도를 초과하므로, 36를 반환합니다.

3번 테스트케이스 설명

  • 공용 클라우드 한도가 0이면, 서버 별 최대 사용량을 5 미만으로 제한할 수 없으므로 5를 반환합니다.