Programação CompetitivaFácil

Tempo mínimo para terminar trabalhos

Guia detalhado e implementação de Python para o problema de 'Tempo mínimo para terminar trabalhos'.

Declaração do problema

Fácil

Escreva uma função min_time_jobs(jobs, k, t) que encontre o tempo mínimo para terminar todos os trabalhos. A matriz jobs representa o tempo necessário para concluir cada trabalho. Existem k cessionários e cada cessionário leva t unidades de tempo para concluir 1 unidade de trabalho. Os trabalhos só podem ser atribuídos como subsegmentos contíguos aos destinatários.

Restrições
  • 1 <= len(jobs) <= 10^5
  • 1 <= k <= len(jobs)
  • 1 <= t <= 1000
  • 1 <= jobs[i] <= 10^4

Exemplos

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?
Considere o uso de estruturas de dados específicas do Greedy, como conjuntos ou heaps.
Edge Cases to Watch
  • Estruturas de entrada vazias
  • Entradas de elemento único
  • Grandes limites numéricos

Pronto para resolver?

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

Abrir no Editor
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

Recursos Python recomendados

Expanda seu conhecimento com tutoriais interativos relacionados, folhas de dicas e comparações de código.