Z01

Kargo Bölüşümü

Başmühendis (Staff/Lead)
Hedef Süre: 40 - 50 Dakika
Tip: NUMERIC

Teknik Tanım & Görev

Bir lojistik firmasının elinde, sırayla yüklenmesi gereken n adet yük var. Yüklerin ağırlıkları `yukler` dizisinde SIRALI olarak verilmiştir ve bu SIRA DEĞİŞTİRİLEMEZ (yükleme rampası tek yönlü). Firma k adet kamyon kiralayacak. Yükler kamyonlara ARDIŞIK DİLİMLER hâlinde bölünecek: her kamyon EN AZ bir yük almalıdır ve tüm yükler dağıtılmalıdır. Firma EN YÜKLÜ kamyonun ağırlığını EN AZA indirmek istiyor. Bu minimum olası "en yüklü kamyon ağırlığını" döndür. Geçersiz bir durum varsa (k > n veya k < 1) -1 döndür.

Fonksiyon İmzası (Python)

min_en_yuk_kapasite(yukler: list[int], k: int) -> int

Girdi ve Çıktı Sözleşmesi

Çıktı Kuralı:Minimum olası maksimum dilim toplamı. k > n veya k < 1 ise -1.

Sistem Kısıtları (Constraints)

1 <= yukler.length <= 10^5
1 <= k <= 10^5 (k > n ise geçersiz -> -1)
1 <= yukler[i] <= 10^4

Örnek Yürütme Analizi

yukler = [7, 2, 5, 10, 8], k = 2
olası 2'li bölmeler:
  [7,2,5] | [10,8] -> max(14, 18) = 18 (EN İYİ)
cevap: 18

Örnek Test Senaryoları (3)

Örnek 1
Girdi:[[7,2,5,10,8],2]
Beklenen Çıktı:18
Örnek 2: 5 Yük 2 Bölüm (9 Kapasite)
Girdi:[[1,2,3,4,5],2]
Beklenen Çıktı:9
Örnek 3: k=n (Maksimum Eleman 30)
Girdi:[[10,20,30],3]
Beklenen Çıktı:30
Python Editörü Yükleniyor...
Girdi Parametreleri
[
  [
    7,
    2,
    5,
    10,
    8
  ],
  2
]
Beklenen Çıktı
18