class Solution:
    def maxScore(self, A: List[int], k: int) -> int:
        # time O(N) space O(K)
        n = len(A)
        total = sum(A)
        if n <= k :
            return total
        window = n - k 
        min_ = total
        l = 0
        cur_sum = 0
        for r in range(n):
            cur_sum += A[r]
            if r > window -1 :
                min_ = min(min_,cur_sum-A[r])
                cur_sum -= A[l]
                min_ = min(min_,cur_sum)
                l += 1 
        return total - min_