from typing import List
from functools import lru_cache
classSolution:defminScoreTriangulation(self, A: List[int])->int:@lru_cache(None)defv(i, j):# recursive endif i +1== j:return0
res =float('inf')# search k that results in minum valuefor k inrange(i +1, j):
res =min(res, v(i, k)+ v(k, j)+ A[i]* A[j]* A[k])return res
return v(0,len(A)-1)if __name__ =="__main__":
a = Solution()print(a.minScoreTriangulation([35,73,90,27,71,80,21,33,33,13,48,12,68,70,80,36,66,3,70,58]))