Rekabetçi ProgramlamaKolay

İşleri bitirmek için minimum süre

'İşleri bitirmek için gereken minimum süre' sorunu için ayrıntılı kılavuz ve Python uygulaması.

Sorun Bildirimi

Kolay

Tüm işleri bitirmek için gereken minimum süreyi bulan min_time_jobs(jobs, k, t) fonksiyonunu yazın. jobs dizisi her işin tamamlanması için gereken süreyi temsil eder. k atanan kişi var ve her atanan kişi 1 birim işi tamamlamak için t birim zaman alıyor. İşler, atanan kişilere yalnızca bitişik alt segmentler olarak atanabilir.

Kısıtlamalar
  • 1 <= len(jobs) <= 10^5
  • 1 <= k <= len(jobs)
  • 1 <= t <= 1000
  • 1 <= jobs[i] <= 10^4

Örnekler

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?
Kümeler veya yığınlar gibi Greedy'ye özgü veri yapılarını kullanmayı düşünün.
Edge Cases to Watch
  • Boş giriş yapıları
  • Tek eleman girişleri
  • Büyük sayısal sınırlar

Çözmeye Hazır mısınız?

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

Editörde Aç
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

Önerilen Python Kaynakları

İlgili etkileşimli eğitimler, yardımcı sayfalar ve kod karşılaştırmalarıyla bilginizi genişletin.