package Ġad vent of code . y 2 0 1 8 Ċ Ċ import Ġad vent of code . Ad vent Solution Ċ Ċ object ĠDay 1 1 Ġ: ĠAd vent Solution ( 2 0 1 8 , Ġ 1 1 , Ġ" Ch ron al ĠCharge ") Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġsolve Part One ( input : ĠString ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġg Ġ= ĠC umulative Grid ( 3 0 0 ) Ġ{ Ġx , Ġy Ġ-> Ġpower ( x Ġ+ Ġ 1 , Ġy Ġ+ Ġ 1 , Ġinput . toInt ()) Ġ} ĊĊĠĠĠĠĠĠĠ Ġvar Ġmax P Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġvar Ġanswer Ġ= Ġ"" ĊĊĠĠĠĠĠĠĠ Ġfor Ġ( x Ġin Ġ 1 .. 3 0 0 Ġ- Ġ 3 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( y Ġin Ġ 1 .. 3 0 0 Ġ- Ġ 3 ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġp Ġ= Ġg . cumulative ( x Ġ- Ġ 1 , Ġy Ġ- Ġ 1 , Ġ 3 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( p Ġ> Ġmax P ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmax P Ġ= Ġp ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġanswer Ġ= Ġ"${ x Ġ+ Ġ 1 }, ${ y Ġ+ Ġ 1 }" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġanswer ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġsolve Part Two ( input : ĠString ): ĠString Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġg Ġ= ĠC umulative Grid ( 3 0 0 ) Ġ{ Ġx , Ġy Ġ-> Ġpower ( x Ġ+ Ġ 1 , Ġy Ġ+ Ġ 1 , Ġinput . toInt ()) Ġ} ĊĊĠĠĠĠĠĠĠ Ġvar Ġmax P Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġvar Ġanswer Ġ= Ġ"" ĊĊĠĠĠĠĠĠĠ Ġfor Ġ( sq Ġin Ġ 1 .. 3 0 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( x Ġin Ġ 1 .. 3 0 0 Ġ- Ġsq ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( y Ġin Ġ 1 .. 3 0 0 Ġ- Ġsq ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġp Ġ= Ġg . cumulative ( x Ġ- Ġ 1 , Ġy Ġ- Ġ 1 , Ġsq ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( p Ġ> Ġmax P ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmax P Ġ= Ġp ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġanswer Ġ= Ġ"${ x Ġ+ Ġ 1 }, ${ y Ġ+ Ġ 1 }, $ sq " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġanswer ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġpower ( x : ĠInt , Ġy : ĠInt , Ġserial : ĠInt ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġid Ġ= Ġx Ġ+ Ġ 1 0 ĊĠĠĠĠĠĠĠ Ġval Ġp Ġ= Ġid Ġ* Ġ( id Ġ* Ġy Ġ+ Ġserial ) ĊĠĠĠĠĠĠĠ Ġreturn Ġp Ġ/ Ġ 1 0 0 Ġ% Ġ 1 0 Ġ- Ġ 5 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġclass ĠC umulative Grid ( size : ĠInt , Ġvalue : Ġ( x : ĠInt , Ġy : ĠInt ) Ġ-> ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġg Ġ= ĠList ( size Ġ+ Ġ 1 ) Ġ{ ĠInt Array ( size Ġ+ Ġ 1 ) Ġ} ĊĊĠĠĠĠĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( y Ġin Ġ 1 .. size ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( x Ġin Ġ 1 .. size ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġg [ y ][ x ] Ġ= Ġvalue ( x , Ġy ) Ġ+ Ġg [ y Ġ- Ġ 1 ][ x ] Ġ+ Ġg [ y ][ x Ġ- Ġ 1 ] Ġ- Ġg [ y Ġ- Ġ 1 ][ x Ġ- Ġ 1 ] ĊĠĠĠĠĠĠĠ Ġ} ĊĊĊĠĠĠĠĠĠĠ Ġfun Ġcumulative ( x : ĠInt , Ġy : ĠInt , Ġsq : ĠInt ): ĠInt Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġg [ y Ġ+ Ġsq ][ x Ġ+ Ġsq ] Ġ- Ġg [ y Ġ+ Ġsq ][ x ] Ġ- Ġg [ y ][ x Ġ+ Ġsq ] Ġ+ Ġg [ y ][ x ] ĊĠĠĠ Ġ} Ċ }