Sunday, April 5, 2015

Soal Pemrograman: PetiKemas


Prolog
Pak Uwi membuka bisnis pergudangan. Ia menyediakan sebuah gudang yang luas untuk pelanggannya bisa menyimpan peti kemas yang banyak, syaratnya luas peti kemas harus sama dan tinggi tidak lebih dari tinggi gudang. Dengan demikian, ia dapat menyusun peti kemas tersebut dengan rapi.  Ia juga dapat menumpuk peti kemas tersebut agar mengurangi luas gudang yang digunakan. Peti kemas ditumpuk di atas peti kemas yang lain selama jumlah tingginya tidak melebih tinggi gudang sehingga jumlah luas yang digunakan seminimal mungkin. Bantulah Pak Uwi untuk menghitung luas gudang minimal yang diperlukan untuk menyimpan sejumlah peti kemas yang ada.

Input
Baris pertama menunjukkan jumlah peti kemas yang datang (n).
Baris kedua hingga n+1 menjukkan tinggi masing-masing peti kemas sesuai kedatangan.
Baris terakhir menujukkan tinggi gudang.
Constraint: peti kemas dipastikan tidak akan ada yang lebih tinggi dari gudang dan semua nilai masukan adalah bilangan integer positif.

Output
Terdiri dari sebuah bilangan yang menunjukkan jumlah tumpukkan yang diperlukan agar semua peti kemas dapat masuk ke dalam gudang dengan luas minimum yang digunakan. Peti kemas harus dimasukkan secara terurut sesuai kedatangan (tidak boleh diacak).

Contoh Input
7
3
3
3
6
4
9
3
10
Contoh Output
4

Keterangan
Input terdiri dari 7 peti kemas dengan tinggi gudang 10.
Maka tumpukan minimum yang bisa dilakukan adalah 4, yaitu:
  • Tumpukan pertama: Peti kemas 1, 2 dan 3; dengan tinggi 3 + 3 + 3
  • Tumpukan kedua: Peti kemas 4 dan 5; dengan tinggi 6 + 4
  • Tumpukan ketiga: Peti kemas 6 saja; dengan tinggi 9
  • Tumpukan keempat: Peti kemas 7 saja; dengan tinggi 3

No comments:

Post a Comment