<prompt> Unapewa pointi kamili za m x n 0-indexed. Kuanzia na pointi 0, ungependa kuongeza idadi ya pointi unazoweza kupata kutoka kwa matrix.Ili kupata pointi, lazima uchague kisanduku kimoja katika kila safu. Kuteua kisanduku kwenye viwianishi r, c kutaongeza pointirc kwenye alama zako.Hata hivyo, utapoteza pointi ukichagua kisanduku kilicho mbali sana na kisanduku ulichochagua kwenye safu mlalo iliyotangulia. Kwa kila safu mbili zilizo karibu r na r 1 ambapo 0 r m - 1, kuchagua seli katika viwianishi r, c1 na r 1, c2 mapenzi toa absc1 - c2 kutoka kwa alama zako.Rejesha _idadi ya juu ya pointi unazoweza kufikia_.absx inafafanuliwa kama: x kwa x 0. -x kwa x 0.Mfano wa 1:Ingizo: pointi 1,2,3,1,5,1,3,1,1Pato: 9Maelezo:Seli za samawati huashiria seli bora za kuchagua, ambazo zina viwianishi 0, 2, 1, 1, na 2, 0.Unaongeza 3 5 3 11 kwa alama yako.Walakini, lazima utoe abs2 - 1 abs1 - 0 2 kutoka kwa alama yako.Alama yako ya mwisho ni 11 - 2 9.Mfano wa 2:Ingizo: pointi 1,5,2,3,4,2Pato: 11Maelezo:Seli za samawati huashiria seli bora zaidi za kuchagua, ambazo zina viwianishi 0, 1, 1, 1, na 2, 0.Unaongeza 5 3 4 12 kwa alama yako.Walakini, lazima utoe abs1 - 1 abs1 - 0 1 kutoka kwa alama yako.Alama yako ya mwisho ni 12 - 1 11.Vikwazo: m pointi.urefu n pointir.urefu 1 m, n 105 1 m n 105 0 pointirc 105  <response>: def maxPointspointi: m, n lenipointi, lenipointi0 dp 0 n kwa safu katika alama: next_dp 0 n kwa c1 katika safun: alama dpc1 safuc1 - c1 kwa c2 katika safun: next_dpc2 maxifuatayo_dpc2, alama - safu mlaloc1 c2 dp next_dp return maxdp 