package Ġcom . github . sol air er ove . al gs 4 . le pro sor ium . gre edy Ċ Ċ import Ġjava . text . Decimal Format Ċ Ċ fun Ġmain () Ġ{ ĊĠĠĠ Ġvar Ġback Pack Size Ġ= Ġ 5 0 ĊĊĠĠĠ Ġval Ġitems Ġ= Ġmutable ListOf ( ĊĠĠĠĠĠĠĠ ĠItem ( worth Ġ= Ġ 6 0 , Ġvolume Ġ= Ġ 2 0 , Ġworth Per Volume Ġ= Ġ( 6 0 Ġ/ Ġ 2 0 ). toDouble ()), ĊĠĠĠĠĠĠĠ ĠItem ( worth Ġ= Ġ 1 0 0 , Ġvolume Ġ= Ġ 5 0 , Ġworth Per Volume Ġ= Ġ( 1 0 0 Ġ/ Ġ 5 0 ). toDouble ()), ĊĠĠĠĠĠĠĠ ĠItem ( worth Ġ= Ġ 1 2 0 , Ġvolume Ġ= Ġ 3 0 , Ġworth Per Volume Ġ= Ġ( 1 2 0 Ġ/ Ġ 3 0 ). toDouble ()) ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġitems . sortBy Descending Ġ{ Ġit . worth Per Volume Ġ} ĊĊĠĠĠ Ġvar Ġres Ġ= Ġ 0 . 0 ĊĠĠĠ Ġfor Ġ( item Ġin Ġitems ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( item . volume Ġ< Ġback Pack Size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġres Ġ+= Ġitem . worth ĊĠĠĠĠĠĠĠĠĠĠĠ Ġback Pack Size Ġ-= Ġitem . volume ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġres Ġ+= Ġ( back Pack Size Ġ/ Ġitem . volume ). toDouble () Ġ* Ġitem . worth . toDouble () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbreak ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġdf Ġ= ĠDecimal Format (" ##### 0 . 0 0 0 ") ĊĠĠĠ Ġprint ( df . format ( res )) Ċ } Ċ Ċ data Ġclass ĠItem ( ĊĠĠĠ Ġval Ġworth : ĠInt , ĊĠĠĠ Ġval Ġvolume : ĠInt , ĊĠĠĠ Ġval Ġworth Per Volume : ĠDouble Ċ ) Ċ