경쟁 프로그래밍쉬움

작업을 완료하는 데 필요한 최소 시간

'작업을 완료하는 데 걸리는 최소 시간' 문제에 대한 자세한 가이드 및 Python 구현입니다.

문제 설명

쉬움

모든 작업을 완료하는 데 필요한 최소 시간을 찾는 함수 min_time_jobs(jobs, k, t)을 작성하세요. jobs 배열은 각 작업을 완료하는 데 필요한 시간을 나타냅니다. k 명의 담당자가 있으며 각 담당자는 1개의 작업 단위를 완료하는 데 t 시간이 걸립니다. 작업은 담당자에게 연속적인 하위 세그먼트로만 할당될 수 있습니다.

제약
  • 1 <= len(jobs) <= 10^5
  • 1 <= k <= len(jobs)
  • 1 <= t <= 1000
  • 1 <= jobs[i] <= 10^4

Example 1
Input
min_time_jobs([10, 7, 8, 12, 8, 5, 9], 4, 5)
Output
100
Explanation

Optimal contiguous assignment: [10, 7], [8, 12], [8, 5], [9]. Max job units assigned is 20 (8+12). Time = 20 * 5 = 100.

Example 2
Input
min_time_jobs([4, 5, 10], 2, 1)
Output
10
Explanation

Optimal contiguous assignment: [4, 5], [10]. Max job units assigned is 10. Time = 10 * 1 = 10.

Need a Hint?
세트나 힙과 같은 Greedy 관련 데이터 구조를 사용하는 것을 고려해보세요.
Edge Cases to Watch
  • 빈 입력 구조
  • 단일 요소 입력
  • 큰 수치 범위

해결할 준비가 되셨나요?

Open the problem in PyRun's browser-based Python editor. Your code runs fully offline — no server required.

편집기에서 열기
Found this breakdown helpful?

PyRun is built and maintained by an independent solo developer. If this helped your interview prep, consider buying a coffee!

Buy me a coffee

권장 Python 리소스

관련 대화형 튜토리얼, 치트 시트, 코드 비교를 통해 지식을 확장하세요.