Kami diberi himpunan dari Fruits. Setiap Buah memiliki harga dan kandungan vitamin ; kami menghubungkan buah dengan pasangan yang dipesan . Sekarang kita harus mengatur buah-buahan ini sedemikian rupa sehingga daftar yang diurutkan berisi harga dalam urutan menaik dan kandungan vitamin dalam urutan menurun.
Contoh 1 : dan .
Jika kita mengatur daftar sedemikian rupa sehingga semua harga dalam urutan naik dan kandungan vitamin dalam urutan menurun, maka daftar yang valid adalah sebagai berikut:
Dari daftar di atas, saya ingin memilih daftar ukuran maksimal. Jika lebih dari satu daftar memiliki ukuran maksimal, kita harus memilih daftar ukuran maksimal dengan jumlah harga paling sedikit. Daftar yang harus dipilih dalam contoh di atas adalah .
Contoh 2 : dan
Jawaban untuk contoh contoh ini adalah .
Sampai sekarang, inilah yang telah saya lakukan:
- Sortir daftar asli dengan urutan harga naik;
- Temukan semua urutan daftar yang diurutkan;
- Periksa apakah urutannya valid, dan bandingkan semua urutan yang valid.
Namun, ini membutuhkan waktu yang eksponensial; bagaimana saya bisa menyelesaikan masalah ini dengan lebih efisien?