/* Ċ Ġ* Ġ ĠCopyright Ġ 2 0 1 9 ĠN ich olas ĠBen net t Ċ Ġ* Ċ Ġ* Ġ ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġ Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* Ġ ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* Ġ ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġ Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* Ġ ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* Ġ ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġ Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ package Ġday 1 Ċ Ċ import Ġjava . io . File Ċ Ċ object ĠKotlin Main Ġ{ ĊĊĠĠĠ Ġprivate Ġconst Ġval ĠINPUT _ FILE Ġ= Ġ" input . txt " ĊĠĠĠ Ġprivate Ġconst Ġval ĠOUTPUT _ FORMAT Ġ= Ġ" Part Ġ% d : Ġ% , d % n " ĊĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġfun Ġmain ( var arg Ġargs : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġjava Class . getResource ( INPUT _ FILE )?. to URI ()?. let Ġ{ Ġuri Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprint ( OUTPUT _ FORMAT . format ( 1 , Ġcompute ( File ( uri ), Ġ:: fuel Needed ))) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprint ( OUTPUT _ FORMAT . format ( 2 , Ġcompute ( File ( uri ), Ġ:: total Fuel Needed ))) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcompute ( file : ĠFile , Ġtransform : Ġ( Int ) Ġ-> ĠInt ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġfile . use Lines Ġ{ Ġsequence Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsequence ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġit . toInt () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġtransform ( it ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. sum () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġfuel Needed ( mass : ĠInt ) Ġ= ĠMath . max ( 0 , Ġmass Ġ/ Ġ 3 Ġ- Ġ 2 ) ĊĊĠĠĠ Ġprivate Ġfun Ġtotal Fuel Needed ( mass : ĠInt ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( mass Ġ<= Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠ 0 ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwith ( fuel Needed ( mass )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis Ġ+ Ġtotal Fuel Needed ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ } Ċ