# 2606. Find the Substring With Maximum Cost
###### tags: `Leetcode` `Medium` `Dynamic Programming` `Kadane`
Link: https://leetcode.com/problems/find-the-substring-with-maximum-cost/description/
## 思路
Kadane’s algorithm 求最大subsequence和
currMax记录以当前元素结尾的最大subsequence和
ans记录整个遍历过程的最大subsequence和
## Code
```python=
class Solution:
def maximumCostSubstring(self, s: str, chars: str, vals: List[int]) -> int:
scores = [i for i in range(1, 27)]
for i, c in enumerate(chars):
scores[ord(c)-ord('a')] = vals[i]
ans, currMax = 0, 0
for i in s:
currMax = max(currMax+scores[ord(i)-ord('a')], scores[ord(i)-ord('a')])
ans = max(currMax, ans)
return ans
```