Cici robot si kelinci pandai meloncat dan akan dipakai Pak Dengklek untuk memanen tanaman. Pak Dengklek menanam 15 tanaman di halaman rumahnya dalam satu lajur dan jarak antara dua tanaman tidak harus sama. Diberikan data posisi 15 tanaman sebega! berikut:
2 9 17 31 59 72 94 103 141 152 179 211 241 288 293
Untuk mengambil 7 tanaman dalam 6 loncatan dari kiri ke kanan, tentukan loncatan terpendek yang maksimal.
TOKI 2012, IF ITB 2012. http://olimpiadeinformatika.com
Saya perjelas dulu maksud soalnya
Saat mengambil 7 tanaman, akan terdapat loncatan terpendek. Kita ingin loncatan terpendek ini semaksimal mungkin.
Sebagai contoh, saya tunjukkan 3 kemungkinan pengambilan (kemungkinan pengambilan seluruhnya ada 15C7 = 6435 kemungkinan)
Pada pengambilan pertama, loncatan terpendek = 7
Pada pengambilan kedua, loncatan terpendek = 5
Pada pengambilan ketiga, loncatan terpendek = 22
Pada tiga kemungkinan tersebut, loncatan terpendek yang paling maksimal adalah 22
Kita ingin mencari loncatan terpendek yang paling besar dari semua kemungkinan.
Agar loncatan terpendeknya semaksimal mungkin, maka Cici perlu loncat sejauh mungkin. Tetapi karena pengambilan pertama dibatasi oleh tanaman paling kiri, dan pengambilan terakhir dibatasi tanaman paling kanan, maka agar maksimal kita perlu membuat loncatannya se-rata mungkin.
Rata-rata dari 6 loncatan dari ujung kiri ke ujung kanan adalah
Sehingga kita usahakan loncatannya mendekati
Dengan mengambil secara greedy yaitu dengan melakukan loncatan dari ujung kiri dan ujung kanan dengan mengusahakan panjang loncatan >= 48.5 tapi tidak terlalu jauh, kita akan dapatkan loncatan seperti ini :

Dari cara greedy ini diperoleh loncatan terpendeknya adalah 38. Hasil ini cukup besar. Tapi apakah ini yang terbesar?
Untuk membuktikannya kita perlu menunjukkan bahwa tidak mungkin membuat loncatan terpencek 39. Caranya adalah lakukan loncatan-loncatan dengan jarak >= 39. Pada loncatan terakhir tidak mungkin dibuat loncatan dengan jarak >= 39. Dan artinya, terbukti secara kontradiksi bahwa 39 tidak mungkin diperoleh dan jelas di atas 39 juga tidak mungkin. Sehingga 38 adalah paling maksimal.
Jawaban = 38
Untuk membuktikan dengan program, kita buat program brute force untuk menghitung loncatan terpendek untuk semua kemungkinan, cari yang terbesar
https://ideone.com/LBfjmC
Masuk untuk menulis jawaban
Pernah Jago OSK
mungkin kalo ambil 7 tanaman : 2 9 17 31 59 72 94 103
maka jumlah lompatannya
if start dari 2
maka 7+10+14+24+26+9 = 90
klo dari 0
90 +2 = 92
Loncatan terpendek yang maksimal adalah loncatan dari tanaman satu ke tanaman selanjutnya yang terjauh. Jadi loncatan terpendek yang maksimal adalah dari tanaman 1 ke tanaman 10, jadi jawabannya 152-2=150